0

在此处输入图像描述

这是我的代码:

- (void)copyFileIfNeeded
{
    NSFileManager *fileManager= [NSFileManager defaultManager];
    NSError *error;
    NSString *filePath = [self getFile];
   BOOL success = [fileManager fileExistsAtPath:filePath];
   if ( !success )
   {
        NSString *defaultFilePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"BQWDatabase.db"];
        success = [fileManager copyItemAtPath:defaultFilePath toPath:filePath error:&error];
    }
}

- (NSString *)getFile
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [paths objectAtIndex:0];
    return [documentsDir stringByAppendingPathComponent:@"BQWDatabase.db"];

}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    [self copyFileIfNeeded];

    return YES;
}

但是 Documents 文件夹总是空的,我该如何解决这个问题?谢谢你。

编辑:

在此处输入图像描述

4

2 回答 2

1

你确定它BQWDatabase.db包含在你的构建中吗?您可以通过在 XCode 中打开右侧窗格,选择顶部最左侧的图标,然后展开“Target Membership”来进行检查。

于 2013-04-17T17:01:23.383 回答
0

我在自己的代码中做了非常相似的事情,除了我找到的默认文件如下:

NSString *defaultFilePath = [[[NSBundle mainBundle] pathForResource:@"BQWDatabase" ofType:@"db"];

不确定它是否有所作为

于 2013-04-17T17:16:51.593 回答