Помимо ошибки компоновщика (вам нужно добавить libsqlite3.dylib в ваш проект согласно ответу, предоставленному @JeremyP) в этом случае, команда sqlite3_open
ожидает постоянного символьного указателя, который вы можете создать изNSString у вас есть следующее:
// Get the path to the database file
NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [searchPaths objectAtIndex:0];
NSString *databasePath = [documentPath stringByAppendingPathComponent:@"ppcipher.s3db"];
// Open the database file
const char *cDatabasePath = [databasePath cStringUsingEncoding:NSUTF8StringEncoding];
sqlite3_open(cDatabasePath, &database);
Если вы посмотрите на документацию SQLite , вы можете в целом увидеть, что ожидается.Например:
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);