2012-04-12 2 views
1

У меня есть приложение, которое использует Core Data. У меня есть два устройства A и B. Мне нужно предоставить возможность скопировать мою базу данных с устройства A на устройство B (устройство B может использовать эту базу данных, если захочет).Как перенести базу данных с одного устройства iPhone на другой и подключиться к новой базе данных?

1) В настоящее время я создал приложение с основными данными в самом начале. И Xcode автоматически вставил файл app.xcdatamodeld в мой пакет приложений и добавил код в файл AppDelegate, чтобы подключить его.

Вопрос: как я могу использовать app.xcdatamodeld из папки Documents? (если я скопировал файл с другого устройства, файл будет находиться в папке «Документы».) Какие параметры и код следует изменить, чтобы сделать это возможным?

2) Каков наилучший способ переноса файла app.xcdatamodeld из папки «Документы» устройства в папку «Документы» устройства B.

+0

Отметьте мой ответ на этот вопрос: http://stackoverflow.com/a/9757198/108574. Вам нужно перенести 2 файла .xcdatamodel и .sqlite. –

ответ

1

Вы можете использовать файл модели из любой точки мира, просто установите его при настройке NSManagedObjectModel:

// Create a path pointing at your model in the Documents folder 
NSURL *modelURL = [NSURL fileURLWithPath:modelPath]; 
NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];  

Вы можете использовать ICloud передать свой .xcdatamodeld (который на самом деле папка) или ваш. xcdatamodel.

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