2013-04-27 3 views
0

Мне удалось понять, как включить UIManagedDocument в простое тестовое приложение, и оно работает так, как ожидалось! Однако теперь я добавляю поддержку этого базового приложения, поэтому он будет работать, если пользователь не захочет использовать iCloud.Сохранение UIManagedDocuments, когда контейнер uibiquity (iCloud) недоступен

Так что, когда URLForUbiquityContainerIdentifier: метод возвращает ноль ', я возвращаю URL каталога локальных документов с использованием предложенного метода

NSString *documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
return [NSURL fileURLWithPath:documentsDirectoryPath]; 

Однако, когда я пытаюсь экономить UIManagedDocument на локальный URL (например: file://localhost/var/mobile/Applications/some-long-identifier/Documents/d.dox) Я получаю следующее сообщение об ошибке:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.' 

Используя этот метод сохранения:

if (![[NSFileManager defaultManager] fileExistsAtPath:self.managedDocument.fileURL.path]) { 
    [self.documentDatabase saveToURL:self.managedDocument.fileURL 
        forSaveOperation:UIDocumentSaveForCreating 
        completionHandler:^(BOOL success) {       
         if (success) { 
          //        
          // Add default database stuff here. 
          // 
          dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
           [self.documentDatabase.managedObjectContext performBlock:^{ 
            [Note newNoteInContext:self.managedDocument.managedObjectContext]; 
           }]; 
          }); 
         } else { 
          NSLog(@"Error saving %@", self.managedDocument.fileURL.lastPathComponent); 
         } 
        }]; 
} 

ответ

0

Оказалось, что мои постоянные параметры хранилища содержат ключи, используемые для вездесущего магазина. Они не должны находиться в настройках хранилища документов.

 Смежные вопросы

  • Нет связанных вопросов^_^