我試過了所有內容並閱讀了所有主題,但無法找到爲什麼NSUbiquitousKeyValueStore未存儲在iCloud中。NSUbiquitousKeyValueStore未與iCloud同步
•創建一個特定的應用程序ID
•啓用iCloud的這個應用程序ID
•創建的供應檔案
•在項目啓用iCloud的
•設置的權利,以核心價值:$(TeamIdentifierPrefix)$(CFBundleIdentifier)
•打開設備上的iCloud Drive
但NSUbiquitousKeyValueStore只保存在本地。當我重新安裝應用程序時,它不會從iCloud獲取信息。
這是我正在努力:
NSUbiquitousKeyValueStore *cloudStore = [NSUbiquitousKeyValueStore defaultStore];
if ([[cloudStore stringForKey:@"testString"] length] == 0) {
NSLog(@"Nothing in iCloud - setting a value...");
[cloudStore setString:@"I'm live in iCloud!" forKey:@"testString"];
[cloudStore synchronize];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
} else {
NSString *result = [cloudStore stringForKey:@"testString"];
NSLog(@"Found something in iCloud - here it is: %@", result);
}
[self registerForiCloudNotificatons];
如果我刪除應用程序或嘗試新的設備沒有找到在iCloud上任何東西。
所以,我想這要看看iCloud的工作:
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (ubiq) {
NSLog(@"iCloud at %@", ubiq);
} else {
NSLog(@"No iCloud access, %@", ubiq);
}
而這總是返回「沒有iCloud的訪問」,我無法弄清楚爲什麼。無論我做什麼URLForUbiquityContainerIdentifier總是返回零。
我在啓用了iCloud的iOS 8設備上運行。
我錯過了什麼嗎?
謝謝!
經過幾天的努力,我簡單地從iCloud註銷並重新登錄。現在它正在運行...... URLForUbiquityContainerIdentifier仍然返回nil,因此我無法檢查iCloud是打開還是關閉,但至少它正在同步並將數據保存在雲上。 – tomDev 2014-10-20 12:50:15