0

自分のアプリ用にAppleSharedCoreDataサンプルを変更してみました。

この警告を除いて、すべてが(合理的に)大丈夫です:

[NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:](1055): CoreData: Ubiquity:  
Error: A persistent store which has been previously added to a coordinator using the iCloud integration options must always be 
added to the coordinator with the options present in the options dictionary. 


If you wish to use the store without iCloud, migrate the data from the iCloud store file to a new store file in local storage. 
file://localhost/Users/david/Library/Containers/.../Data/Documents/SharedCoreDataStores/localStore.sqlite

This will be a fatal error in a future release.

誰かがこれに遭遇しましたか、そしてどうすればそれを解決できますか?

4

1 に答える 1

2

このエラーが表示された場合は、iCloudメタデータを含むストアファイルを追加しています。これは、ファイルがiCloudに追加されたことを意味します。

iCloudストアを追加するときにオプションを追加する必要があります。

        NSDictionary *options =
        @{  NSMigratePersistentStoresAutomaticallyOption:@(YES),
        NSInferMappingModelAutomaticallyOption      :@(YES),
        NSPersistentStoreUbiquitousContentNameKey   :self.iCloudCoreDataContentName,
        NSPersistentStoreUbiquitousContentURLKey    :self.iCloudCoreDataContentURL};

self.iCloudCoreDataContentName(必須)は、任意の名前、iCloudストア、名前です

self.iCloudCoreDataContentURL(オプション)iCloudコンテナでコアデータ転送ログを見つけます

このURLは、次のようにiCloudコンテナのサブディレクトリである必要があります。[[NSFileManager URLForUbiquityContainer:nil] URLByAddingComponent:@"CoreDataLogs"].

このプロパティはオプションではオプションです。省略した場合、iCloudCoreDataコンテンツのURLはになります[NSFileManager URLForUbiquityContainer:nil]

注意すべきURLと名前の詳細: Xcode-「提供されたユビキタス名はすでに使用されています」-フォルダを見つける方法

iCloudストアをローカルストアに変えたい場合は、私の答えを次の場所で見ることができます: データをiCloudストアファイルからローカルストレージの新しいストアファイルに移行するにはどうすればよいですか?

于 2012-12-27T14:34:16.130 に答える