이 경우에는 링커 오류 (@ JeremyP에서 제공하는 대답에 따라 libsqlite3.dylib를 프로젝트에 추가해야 함) 이외에도 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);
당신은 일반적으로 예상되는 것을 볼 수 있습니다. 예 :
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
사실, 내 대답의 첫 줄에는 약간의 오타가있었습니다. 그것은 libsqlite3.dylib입니다 – JeremyP
@ JeremyP 머리를 주셔서 감사합니다. 그에 따라 내 대답을 업데이트했습니다. :-) –