app Beenden aufgrund abgefangene Ausnahme 'NSInternalInconsistencyException', Grund:' Fehler während der Ausführung von SQL-Zeichenfolge ‚INSERT INTO Y_UBMETA (YPEERID, YTRANSACTIONNUMBER)
Nicht aufgelöster Fehler Fehlerdomäne = NSCOAErrorDomain Code = 134312 "Die Wiederherstellung der Speichermetadaten scheint fehlgeschlagen zu sein. Versuchen Sie den Speicher erneut dem Koordinator hinzuzufügen. Wenn dies nicht erfolgreich ist, migrieren Sie die Daten in einen neuen ubiquitizierten persistenten Geschäft." UserInfo = 0xdba5b80 {NSLocalizedDescription = Wiederherstellung der Speichermetadaten scheint fehlgeschlagen zu sein. Versuchen Sie, den Speicher erneut zum Koordinator hinzuzufügen. Wenn dies nicht erfolgreich ist, migrieren Sie die Daten in einen neuen ubiquitierten persistenten Speicher.}, { NSLocalizedDescription = "Die Wiederherstellung der Speichermetadaten scheint fehlgeschlagen zu sein. Versuchen Sie den Speicher erneut dem Koordinator hinzuzufügen. Wenn dies nicht erfolgreich ist, migrieren Sie die Daten in a neuer ubiquitierter persistenter Speicher. ";
Wie löse ich dieses Problem? Coz, dass es eine interne Abfrage für iCloud ist. Ich bin mein Code-Block unterhalb des Verfahrens setzt i geschrieben haben ..
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
NSLog(@"persistentStoreCoordinator:%@",[persistentStoreCoordinator_ description]);
if((persistentStoreCoordinator_ != nil))
{
return persistentStoreCoordinator_;
}
NSLog(@"persistentStoreCoordinator:%@",[persistentStoreCoordinator_ description]);
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"CoreDataModel.sqlite"];
persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSPersistentStoreCoordinator* psc = persistentStoreCoordinator_;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSFileManager *fileManager = [NSFileManager defaultManager];
// Migrate datamodel
NSDictionary *options = nil;
// this needs to match the entitlements and provisioning profile
NSURL *cloudURL = [fileManager URLForUbiquityContainerIdentifier:nil];
NSLog(@"cloudURL:%@",cloudURL);
//NSString* coreDataCloudContent = [[cloudURL path] stringByAppendingPathComponent:@"Data"];
cloudURL = [cloudURL URLByAppendingPathComponent:@"Data"];
// NSLog(@"coreDataCloudContent:%@",coreDataCloudContent);
//if ([coreDataCloudContent length] != 0 && [[defaults objectForKey:@"allMetadataFlag"] isEqualToString:@"YES"])
if (cloudURL)//&& [[defaults objectForKey:@"allMetadataFlag"] isEqualToString:@"YES"])
{
// iCloud is available
// cloudURL = [NSURL fileURLWithPath:coreDataCloudContent];
NSLog(@"cloudURL:%@",cloudURL);
options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
@"SecureAssistant.store", NSPersistentStoreUbiquitousContentNameKey,
cloudURL, NSPersistentStoreUbiquitousContentURLKey,nil];
}
else
{
// iCloud is not available
options = [NSDictionary dictionaryWithObjectsAndKeys:
[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(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[psc unlock];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"asynchronously added persistent store!");
[[NSNotificationCenter defaultCenter] postNotificationName:@"RefetchAllDatabaseData" object:self userInfo:nil];
});
});
return persistentStoreCoordinator_;
}