2013-06-26 4 views
0

Я использую 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 "); 
     } 
    }]; 
} 

Итак, пожалуйста, напишите ответ, если у вас есть?

Спасибо.

ответ

0

Это внутренние ошибки iCloud + Core Data. Они не означают, что вы сделали что-то неправильно, и вы ничего не можете изменить, чтобы заставить его работать лучше. Иногда iCloud просто делает это, иногда просто на одном устройстве, иногда случайно на разных устройствах. Ваша единственная альтернатива - повторить попытку позже и надеяться на лучшие результаты.

Я знаю, что это не тот ответ, который хочет любой, но так оно и есть с Core Data и iCloud прямо сейчас. Ошибка файлов или попробуйте с iOS 7 и посмотрите, лучше ли там.

+0

Том Харрингтон, Если есть какая-либо документация по яблоку о вашем ответе, пожалуйста, поделитесь со мной. – URathore

+0

Эти ошибки не документированы. –