この問題を解決するために数週間苦労しています..この問題を解決するために私を助けてください.
Apple WWDC 2012 から iCloud でコア データのサンプル コードをダウンロードし、アプリケーションで使用しようとしましたが、何も機能しませんでした。
もちろん、私はいくつかのコードを少し変更しました..しかし、私は何をすべきか正確にはわかりません..
私はすでに数週間過ごしましたが、疲れています。これは自分のスキル不足が原因であることはわかっています。
私が直面している問題は...
- (void)asyncLoadPersistentStores {
NSError *error = nil;
if ([self loadLocalPersistentStore:&error]) {
NSLog(@"Added local store");
} else {
NSLog(@"Unable to add local persistent store: %@", error);
}
//if iCloud is available, add the persistent store
//if iCloud is not available, or the add call fails, fallback to local storage
BOOL useFallbackStore = NO;
if ([self iCloudAvailable]) {
if ([self loadiCloudStore:&error]) {
NSLog(@"Added iCloud Store");
//check to see if we need to seed data from the seed store
if (SEED_ICLOUD_STORE) {
//deleted because SEED_ICLOUD_STORE value is false
}
//check to see if we need to seed or migrate data from the fallback store
NSFileManager *fm = [[NSFileManager alloc] init];
if ([fm fileExistsAtPath:[[self fallbackStoreURL] path]]) {
//migrate data from the fallback store to the iCloud store
//there is no reason to do this synchronously since no other peer should have this data
dispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(globalQueue, ^{
NSError *blockError = nil;
BOOL seedSuccess = [self seedStore:_iCloudStore
withPersistentStoreAtURL:[self fallbackStoreURL]
error:&blockError];
if (seedSuccess) {
NSLog(@"Successfully seeded iCloud Store from Fallback Store");
} else {
NSLog(@"Error seeding iCloud Store from fallback store: %@", error);
abort();
}
});
}
} else {
NSLog(@"Unable to add iCloud store: %@", error);
useFallbackStore = YES;
}
} else {
useFallbackStore = YES;
}
if (useFallbackStore) {
if ([self loadFallbackStore:&error]) {
NSLog(@"Added fallback store: %@", self.fallbackStore);
//you can seed the fallback store if you want to examine seeding performance without iCloud enabled
//check to see if we need to seed data from the seed store
if (SEED_ICLOUD_STORE) {
//deleted
}
} else {
NSLog(@"Unable to add fallback store: %@", error);
abort();
}
}
}
これは CoreDataController.m (WWDC 2012 セッション 227) からのソース コードの一部であり、「loadLocalPersistentStore」メソッドを呼び出すとプログラムが停止し、「ローカル ストアがバンドルに見つかりません。ビルドの問題である可能性があります。makeストア ファイルがバンドル リソースとしてコピーされていることを確認してください。」
サンプルのように localStore.sqlite と fallbackStore.sqlite ファイルを持っていないことが原因だと思います。エラーになります。
しかし、私はその部分をスキップしますが(コメントしてください)、iCloudストアを追加できません:エラードメイン= NSCocoaErrorドメインコード= 134100というエラーメッセージが表示されたため、iCloudに接続できません。(Cocoa エラー 134100)" UserInfo=0x1dd93040 {metadata={ NSPersistenceFrameworkVersion = 419;"
iOS5のiCloudでコアデータについて多くのことを学び、ほぼ完璧に機能しました。でも今はバカみたい。私にできることは何もありません。私を助けてください。
奇妙なことに、Apple のサンプル コードには、iCloud アプリ ID、url 何かについて入力したコードがありません。
ありがとう。