Почему я получаю ошибку записи при копировании базы данных Core Data между iPhone и iPad? - PullRequest
0 голосов
/ 12 августа 2010

В моем приложении я создаю и использую обычное постоянное хранилище:

- (NSPersistentStoreCoordinator *) persistentStoreCoordinator {
    //  D_IN;   
    if (persistentStoreCoordinator != nil) {
        return persistentStoreCoordinator;
    }
    persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];

    // Allow inferred migration from the original version of the application.
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                             [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                             [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

    NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Dances005.sqlite"]];




    NSError *error = nil;

    if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl 
                                                        options:options error:&error]){
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);


    }
    //  D_OUT;

    return persistentStoreCoordinator;

.. ничего особенного.Он содержит несколько объектов NSData - все основные данные, совместимые на iPhone и iPAD.

Я создаю файл на iPhone и хочу скопировать его на iPAD.Когда я открываю то же самое приложение на iPAD, оно использует скопированный sqlite и работает нормально, пока оно читает / выбирает.Как только я изменяю данные и хочу сохранить их, я получаю следующую ошибку:

Unresolved error Error Domain=NSCocoaErrorDomain Code=256 UserInfo=0x6a2b7a0 "Operation could not be completed. (Cocoa error 256.)", {
    NSFilePath = "/var/mobile/Applications/294B329D-D287-4012-A551-4E7348624225/Documents/Dances005.sqlite";
    NSUnderlyingException = error during SQL execution : attempt to write a readonly database;

В настоящее время я использую iPhoneExplorer и просто перетаскиваю файл с iPhone -> MAC -> iPAD.Я проверил атрибуты rw с iFile, и они являются rw для пользователя на iPAD.(так же, как на iPhone)

В чем может быть проблема, и как я могу решить эту проблему?

1 Ответ

1 голос
/ 12 августа 2010

iPhoneExplorer не поддерживается Apple, и «просто перетаскивать файл с iPhone -> MAC -> iPAD» не поддерживается. Если вы хотите включить файл в приложение для iPad, то включите его как часть пакета или используйте другой механизм для передачи файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...