iphone - NSPersistentStoreDidImportUbiquitousContentChangesNotification 未得到通知

标签 iphone objective-c ios core-data icloud

如果另一个设备上的核心数据中的条目发生更改,NSLog 消息会显示它已注意到更改,但 NSPersistentStoreDidImportUbiquitousContentChangesNotification没有被调用。直到在我的第一台设备上保存它才知道更新我的表格 View 。

这是我的代码:

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(iCloudUpdates:)
                                                 name:NSPersistentStoreDidImportUbiquitousContentChangesNotification
                                               object:nil];

有人知道为什么这可能不起作用吗?

最佳答案

第一个选项:
如果您的问题是更新两台设备都有延迟,这是正常现象,Apple 不保证更新时间,但通常很快。

如果另一方面的问题是未调用 iCloudUpdates 方法,请确保签名正确,应该是:

-(void)iCloudUpdates:(NSNotification*)notification {
  // do your stuff here
}

第二种选择:
在撰写本文时,iOS 5 的 iCloud 和 CoreData 存在很大的问题,我最近发布的应用程序没有 iCloud 支持。

如果您想知道发生了什么,请通过以下方式打开 CoreData 和 iCloud 的登录:
-com.apple.CoreData.SQLDebug 1
-com.apple.coredata.ubiquity.logLevel 3

在您的方案管理器中,在 run->arguments 选项卡下。

如果您在“目标”设备中看到一些奇怪的错误,那就是 iCloud 无法正常工作的情况。

关于iphone - NSPersistentStoreDidImportUbiquitousContentChangesNotification 未得到通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11594960/

相关文章:

ios - 使用一个 Storyboard和一个 Storyboard将 iPad 应用程序移植到 iPhone

iphone - 如何在iPhone SDK中找到闭合路径(两条线交点)?

ios - 如何打开 performselectorinbackground 功能 Ios

ios - NSImage 和 UIImage 给出了不同的 NSData 表示

ios - 显示键盘时获取当前文本字段

iphone - 导航 Controller 和 View 在返回时不更新

javascript - 将 js 输出转换为 Objective-C

objective-c - 有没有办法将 Protocol Buffer 包装到 Objective-C 中并仍然利用继承?

objective-c - 从objective-c中的 "JSON-style"NSString获取正确的值

html - iOS UIWebView 为 html 页面设置语言