Cum de a spune datele de bază Migrația ușoară a avut succes

Fundal:

Am o aplicație aflată în prezent în appstore care folosește un datastore de date de bază - cu iCloud.

Am adăugat în câmpuri unei entități și unei entități noi.

Am setarea de migrare auto și cred că totul funcționează. (Nimic nu se blochează)

Există o modalitate de a spune că funcționează 100%? Presupun că aceasta este cea mai bună abordare a unor astfel de modificări minore? Nu vreau să eliberez cu o șansă un utilizator va primi un accident.

Codul pentru implementarea migrării automate este următorul:

NSURL *storeUrl = [NSURL fileURLWithPath:storePath];
// this needs to match the entitlements and provisioning profile
NSURL *cloudURL = [fileManager URLForUbiquityContainerIdentifier:nil];
NSString* coreDataCloudContent = [[cloudURL path] stringByAppendingPathComponent:@"iLearn_LessonPlans"];
cloudURL = [NSURL fileURLWithPath:coreDataCloudContent];

//  The API to turn on Core Data iCloud support here.
NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:@"com.danielanderton.iLearn_LessonPlans.1",    NSPersistentStoreUbiquitousContentNameKey, cloudURL, NSPersistentStoreUbiquitousContentURLKey, [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,nil];

NSError *error = nil;

[psc lock];
if (![psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
              NSLog(@"error");
}
[psc unlock];
0
@ Nu ați rezolvat asta?
adăugat autor laucel, sursa
Folosesc aceeași abordare în aplicația iCloud-CoreData pentru a efectua migrarea ușoară, dar nu vrea să funcționeze. Metoda addPersistentStoreWithType: configurare: URL: opțiuni: eroare: întotdeauna se întoarce Error Domain = NSCocoaErrorDomain Code = 512 "Încărcarea fișierului a expirat". Și funcționează bine după revenirea la versiunea anterioară a modelului. Poate ai vreo idee ce ar putea cauza asta?
adăugat autor berec, sursa
iOS dezvoltatori, România — Moldova
iOS dezvoltatori, România — Moldova
21 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro, @seo_ro Android: @ro_android