확인 당신이 그것을 열기 전에 폴더, 그리고이 아니라면, 다음 이후에 문서 폴더에서 열기 전에 문서 폴더에 번들 버전을 복사합니다.
먼저 빈 데이터베이스를 문서 폴더에 저장 했으므로 제거하십시오 (앱을 제거한 다음 다시 설치하여 제거하십시오). 그리고 나서 다음과 같이 할 수 있습니다
BOOL success;
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* dir = [paths objectAtIndex:0];
NSString* documentsPath = [dir stringByAppendingPathComponent:@"samble.db"];
NSFileManager* fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:documentsPath]) {
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"samble" ofType:@"db"];
NSAssert(bundlePath, @"%s: database not found in bundle", __FUNCTION__);
NSError *copyError;
success = [fileManager copyItemAtPath:bundlePath toPath:documentsPath error:©Error];
NSAssert(success, @"%s: copyItemAtPath failed: %@", __FUNCTION__, copyError);
}
FMDatabase* db = [FMDatabase databaseWithPath:documentsPath];
NSAssert(db, @"%s: databaseWithPath failed", __FUNCTION__);
success = [db open];
NSAssert(success, @"%s: open failed", __FUNCTION__);
출처
2014-04-06 22:27:05
Rob
두 번째 대답을 주셔서 감사합니다. –