2

Core Data を使用する iCloud アプリを作成しようとしています。そのために、 の 1 つのインスタンスを使用しますUIManagedDocument。の場合persistentStoreOptions、「Database.data」を設定しNSPersistentStoreUbiquitousContentNameKey、-iCloudURL-/CoreData_Logs を設定しNSPersistentStoreUbiquitousContentURLKeyます。Apple が提案したように、次のようにドキュメントを開きます。

if ([[NSFileManager defaultManager] fileExistsAtPath:[urlOfDatabase path]])
{
    [_database openWithCompletionHandler:^(BOOL success) { ... }];
}
else
{
    [_database saveToURL:urlOfDatabase
        forSaveOperation:UIDocumentSaveForCreating
       completionHandler:^(BOOL success) { ... }];
}

また、NSPersistentStoreDidImportUbiquitousContentChangesNotifications に登録し、そのメソッドで通知からのコンテキストをマージします。

アプリのテストには、iPad と iPhone を使用します。あるデバイスで実行し、データを追加して別のデバイスで開くと、正しいデータが表示されます。ただし、アプリが両方のデバイスで実行されているときにデータを追加すると、更新されないか (少なくとも 10 分間待機したことがあります)、数分後に更新されますが、大量のエラー メッセージが表示されるだけです。アイテムをダウンロードできませんでした。」

セットアップで何か (できれば明らかな) を見逃していませんか?

4

0 に答える 0