Я хотел протестировать хранилище ключей iCloud. Вот шаги, которые я взял:Исходный тест хранилища ключей для iCloud
1) Приобретение яблока аккаунт разработчика по цене около $ 100, ждали его, чтобы активировать
2) В области разработчиков я создал идентификатор приложения, контейнер ICloud, профиль обеспечения (iOS Development), и удостоверился, что он знал о моем личном устройстве.
3) Создан новый сингл с видом на быстрое приложение в XCode
4) Добавлен следующий код в приложении: didFinishLaunchingWithOptions: метод:
let keyStore = NSUbiquitousKeyValueStore.defaultStore()
#if (arch(i386) || arch(x86_64)) && os(iOS)
//let DEVICE_IS_SIMULATOR = true
keyStore.setString("testValue2", forKey: "testKey2")
let didSync = keyStore.synchronize()
print("synched: \(didSync)")
#else
//let DEVICE_IS_SIMULATOR = false
let didSync = keyStore.synchronize()
print("synched: \(didSync)")
if let theString = keyStore.stringForKey("testKey2") {
print("the string: \(theString)")
}
else {
print("did not find string with specified key")
}
#endif
5) Запустил приложение на тренажере 5s , подтвердил, что keyStore.synchronize() возвращает true.
6) Ждал 10 секунд
7) Запустили приложение на моем iPhone 6+, подтвердили, что keyStore.synchronize() возвращает истину.
8) К сожалению, он распечатал «не нашли строку с указанным ключом»
Что я делаю не так?
Удалите вызовы 'synchronize' – Paulw11