Jak wykorzystać przykładowy kod sesji „Core Data with iCloud” 227 w WWDC 2012?
Rozwalam kilka tygodni, aby rozwiązać ten problem ... więc pomóż mi rozwiązać ten problem.
Pobrałem przykładowy kod podstawowych danych za pomocą iCloud z Apple WWDC 2012. i próbowałem użyć go do mojej aplikacji, ale nic nie działało.
oczywiście trochę zmieniłam kod .. ale nie wiem dokładnie, co powinienem zrobić i nie mogę znaleźć żadnej witryny, która o tym mówi i tutoriali ..
Spędziłem już kilka tygodni i jestem zmęczony. Wiem, że to z powodu mojego braku umiejętności.
problem, przed którym stoję, to ...
- (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();
}
}
}
jest to część mojego kodu źródłowego z CoreDataController.m (sesja WWDC 2012 227), a następnie program został zatrzymany, gdy wywołuje metodę „loadLocalPersistentStore” i otrzymałem komunikat o błędzie „Nie znaleziono magazynu lokalnego w pakiecie, jest to prawdopodobnie problem z kompilacją, wykonaj Upewnij się, że plik sklepu jest kopiowany jako zasób pakietu. ”
Domyślam się, że powodem tego jest to, że nie mam pliku localStore.sqlite i fallbackStore.sqlite, jak przykład. więc robi błąd.
ale chociaż pomijam tę część (skomentuj to), nie mogę połączyć się z iCloud, ponieważ teraz mam ten komunikat o błędzie „Nie można dodać sklepu iCloud: Błąd domeny = NSCocoaErrorDomain Code = 134100” Operacja nie mogła zostać zakończona. (Błąd kakaowy 134100.) "UserInfo = 0x1dd93040 {metadata = {NSPersistenceFrameworkVersion = 419;"
Nauczyłem się wielu rzeczy o podstawowych danych za pomocą iCloud na iOS5 i działało to prawie idealnie. ale teraz jestem jak głupiec. nic nie mogę zrobić. proszę pomóż mi.
dziwne jest to, że nie ma kodu, który wpisywałby identyfikator aplikacji iCloud, url coś w przykładowym kodzie z Apple.
Dzięki.