Я пытаюсь придумать способ предварительной загрузки данных в основные данные при использовании UIManagedDocument
. Моя попытка до сих пор заключается в том, чтобы сделать документ в приложении "Loader", используя этот код.
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:@"Default Database"];
if(![[NSFileManager defaultManager] fileExistsAtPath:[self.document.fileURL path]]){
[self.document saveToURL:self.document.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
if(success)[self loadDataIntoDocument];
}];
}
а затем скопируйте файл persistentStore из каталога документов, созданного в каталоге симулятора, в раздел ресурсов в Xcode для основного приложения, которое будет использовать загруженную базу данных.
Моя проблема в том, что я не могу понять, как скопировать этот документ из пакета приложений и успешно использовать его в качестве документа.
Я попытался скопировать каталог документов как есть из пакета приложений и попытаться получить к нему доступ в качестве документа, который дал ошибку, что UIManagedDocument
может получить доступ только к пакету файлов.
Я попытался создать еще один свежий документ в главном приложении и скопировать файл persistentStore из пакета, который был создан в документе с той же ошибкой.
И я пробовал использовать метод UIManagedDocument
-(BOOL)loadFromContents:ofType:error:
. Я даже не уверен, что это то, что я должен использовать.
Есть ли у кого-нибудь идеи относительно того, как это обычно делается? Благодарю!