シミュレーターにいるかどうかに基づいて、iCloud の読み込みをトリガーするかどうかを今すぐ確認できます。実際のデバイスで実行しようとすると、黒い画面が表示され、「addPersistentStore」行がハングしているように見えます。「My Project Name」は、資格ファイルの名前であり、アプリの名前です。
どうしたの?
#if (TARGET_IPHONE_SIMULATOR)
if (![psc addPersistentStoreWithType:NSSQLiteStoreType
configuration:nil
URL:dbUrl
options:nil
error:&error]) {
[NSException raise:@"Open failed" format:@"Reason: %@", [error localizedDescription]];
}
#else
NSFileManager *fm = [NSFileManager defaultManager];
NSURL *ubContainer = [fm URLForUbiquityContainerIdentifier:nil];
NSMutableDictionary *options = [NSMutableDictionary dictionary];
[options setObject:@"My Project Name" forKey:NSPersistentStoreUbiquitousContentNameKey];
[options setObject:ubContainer forKey:NSPersistentStoreUbiquitousContentURLKey];
if (![psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:dbUrl options:options error:&error]) {
[NSException raise:@"Open failed" format:@"%@", [error localizedDescription]];
}
#endif