Я использую coredata и icloud в своем приложении. Когда я создал UIManagedDocument на iCloud и отлаживал приложение на устройстве, отличном от iPhone5, он работает нормально. Но при отладке на iPhone он дает ошибку, как указано ниже:Как исправить проблему в iphone5 iPhone librariand [12461] <Error>: невозможно загрузить файл: //localhost/private..when с помощью coredata и icloud?
Jun 26 15:49:49 Librariand Kumar-iPhone [12461]: невозможно загрузить файл: // localhost/private/var/mobile/Library/Mobile% 20Documents/3JPA4W258L ~ com ~ leaf ~ Journal/COREDATABASE/(0x8000000000000000): операция не может быть завершена. (Ошибка UBErrorDomain 0.) Jun 26 15:49:58 Librariand Kumar-iPhone [12461]: невозможно загрузить файл: // localhost/private/var/mobile/Library/Mobile% 20Documents/3JPA4W258Lh ~ com ~ leaf ~ Журнал/Журналы/(0x8000000000000000): операция не может быть выполнена. (Ошибка UBErrorDomain 0.) Jun 26 15:49:58 Kumar-iPhone Journal [12554]: -PFUbiquityImportScanOperation main: CoreData: Ubiquity: Невозможно получить подпуты корневого пути (0):/private/var/mobile/Библиотека/Мобильные документы/3JPA4W258L ~ com ~ leaf ~ Журнал/Журналы Ошибка: (null) userInfo: (null) Jun 26 15:49:58 Kumar-iPhone Journal [12554]: -NSPersistentStoreCoordinator addPersistentStoreWithType: configuration : URL: параметры: ошибка :: CoreData: Ubiquity: произошла ошибка при настройке интеграции повсеместность: (нуль)
код приведен ниже:
-(void)saveManagegDocument {
if(iCloud) {
NSError * error = nil;
[coordinator coordinateWritingItemAtURL:managedDoc.fileURL options:NSFileCoordinatorWritingForDeleting error:&error byAccessor:^(NSURL *newURL) {
NSError * delError = nil;
[[NSFileManager defaultManager] removeItemAtURL:newURL error:&delError];
//if(delError)
//NSLog(@"Error deleting data file .... , reason : %@",delError.localizedDescription);
}];
NSError * logerror = nil;
[coordinator coordinateWritingItemAtURL:[managedDoc.persistentStoreOptions valueForKey:NSPersistentStoreUbiquitousContentURLKey] options:NSFileCoordinatorWritingForDeleting error:&logerror byAccessor:^(NSURL *newURL) {
NSError * delError = nil;
[[NSFileManager defaultManager] removeItemAtURL:newURL error:&delError];
//if(delError)
//NSLog(@"Error deleting transaction file .... , reason : %@",delError.localizedDescription);
}];
}
[managedDoc saveToURL:managedDoc.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
if (success) {
[managedDoc closeWithCompletionHandler:^(BOOL success) {
[managedDoc openWithCompletionHandler:^(BOOL success) {
[self performSelectorOnMainThread:@selector(documentReady) withObject:nil waitUntilDone:NO];
}];
}];
} else {
[[[UIAlertView alloc] initWithTitle:@"Could not save or open core data database." message:nil delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil] show];
// [self showMessage:@"Could not save or open core data database "];
//NSLog(@"Could not save or open core data database ");
}
}];
}
Итак, пожалуйста, напишите ответ, если у вас есть?
Спасибо.
Том Харрингтон, Если есть какая-либо документация по яблоку о вашем ответе, пожалуйста, поделитесь со мной. – URathore
Эти ошибки не документированы. –