0

我在查找我的 sqlite 文件时遇到了一些麻烦。当我使用 iOS 5 模拟器运行 de app 时,它运行正常,但是当我在 iOS 5.1 上运行它时,它找不到 sqlite 文件。我正在使用此代码查找文件。

- (NSString *) getDatabasePath {
    NSString* databaseName = @"bohn_db.bin.sqlite";
    NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [documentPaths objectAtIndex:0];
    return [documentsDir stringByAppendingPathComponent:databaseName];      
}

在 iOS 5 上有效,而在 iOS 5.1 上无效,我尝试将文件从 de main bundle 资源路径复制到文档路径(路径上方),但它不起作用,因为该文件甚至在主要 bunlde 资源中都找不到路径,但文件在那里。iOS 5.1 会发生什么?

提前致谢!!

4

3 回答 3

2

我遇到了同样的问题。在尝试了这么多不同的事情并将数据库从程序中取出并再次添加之后。这一次我确保我检查了“添加目标”。这样做之后,它工作得很好。如果我没有检查它,那么它不会复制文件。

于 2012-09-23T02:47:07.747 回答
0

NSLog 从您的代码中记录数据库路径并手动检查它是否存在。

于 2012-05-24T04:58:14.070 回答
0

从模拟器中删除应用程序并为 getDatabasePath 构建和放置计时器 5 秒。我认为它会起作用。

于 2012-05-24T04:17:01.657 回答