2

私のアプリは、UIManagedDocument 内に含まれるコア データ データベースを使用します。iCloud 経由で同期しようとすると、データが更新されることはめったにありません。次の app 引数をスキームに追加して、ユビキタス ログをオンにしました。

-com.apple.coredata.ubiquity.logLevel 3

引数のログ出力は、送信元デバイスで変更が行われた直後に宛先デバイスが変更を認識することを示していますが、NSPersistentStoreDidImportUbiquitousContentChangesNotification通知はトリガーされません。場合によっては、更新が表示されてからかなりの時間が経過してから通知がトリガーされることがありますが、通常はそうではありません。

ただし、アプリを再起動すると (ログに変更に関するテキストが出力された後はいつでも)、 NSPersistentStoreDidImportUbiquitousContentChangesNotification通知がすぐにトリガーされ、データが更新されます。

注: 通知を購読しました。

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

1 に答える 1