Вы должны начать добавлять свою базу данных в свой проект xcode, чтобы он был добавлен в папку вашего пакета, где вы можете найти его по коду:
[NSBundle mainBundle]
Это единственная папка, где вы можетедобавляйте файлы через xcode, когда вы «строите» свое приложение (в конце концов, с подпапками, но не «системными» папками как «документы»), теперь вам просто нужно помнить, что основная папка пакета просто «только для чтения», поэтому вы не можетеиспользуйте там свою базу данных с правами записи.Таким образом, обычный способ:
1) когда вы хотите использовать свою БД, проверьте с помощью кода, существует ли он в папке app: documents.Конечно, в первый раз это не так, поэтому
2) скопируйте его из основного пакета
- (BOOL)transferDb {
NSError **error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"yourData.db"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: path])
{
NSString *bundle = [[ NSBundle mainBundle] pathForResource:@"preferenze" ofType:@"plist"];
[fileManager copyItemAtPath:bundle toPath:path error:error];
return YES;
}
return NO;
}
3) используйте его (r / w) в папке документов
ps: и (конечно) имейте в виду, что когда вы используете / редактируете / пишете БД в iPhone / симуляторе, возможно, добавляете записи, одна из которых в основном комплекте и, конечно, та, что в вашем mac / проекте, выиграла 'Обновление не приведет к добавлению записей, поэтому, если по какой-либо причине вы удалите свое приложение на iPhone / симуляторе (или «очистите все цели» с помощью меню «build» xCode), метод check / copy скопирует «virgin»."снова скопируйте в папку с документами, так что вы потеряете все свои изменения ...