Что вы можете сделать, это предварительно собрать базу данных sqlite и затем включить ее в качестве ресурса в свое приложение. Поскольку эта база данных находится в вашем комплекте приложений, она будет доступна только для чтения на вашем устройстве, поэтому вам нужно будет сделать ее копию в области документов приложения.
Я успешно использовал что-то вроде следующего кода в производственном приложении для iPhone
NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentFolderPath = [searchPaths objectAtIndex: 0];
NSString* dbFilePath = [documentFolderPath stringByAppendingPathComponent: DATABASE_FILE_NAME];
if(![[NSFileManager defaultManager] fileExistsAtPath: dbFilePath]) {
// copy the template database into the right place
NSError* error = nil;
[[NSFileManager defaultManager] copyItemAtPath: [[NSBundle mainBundle] pathForResource: @"template" ofType: @"db"] toPath: dbFilePath error: &error];
if(error) {
@throw [NSException exceptionWithName: @"DB Error" reason: [error localizedDescription] userInfo: nil];
}
}
int dbrc; // database return code
dbrc = sqlite3_open ([dbFilePath UTF8String], &db);
if(IS_SQL_ERROR(dbrc)) {
@throw [NSException exceptionWithName: @"DB Error" reason: NSLocalizedString(@"Could not open database", @"Database open failed") userInfo: nil];
}