【发布时间】:2012-01-25 11:49:37
【问题描述】:
我想将我的 sqlite db 放入一个自定义包中,并在多个项目中使用该包。
我已经从 Mac OS X FrameWork&Library -> Bundle 创建了一个新目标,我已经构建了目标,并且我已经将我的 sqlite db 放入了包中。 我已将捆绑包添加到我的 iOS 项目并尝试从中读取数据库。
现在问题来了:我可以获取包并读取它的标识符,但是当我尝试获取 db 的路径时,我得到空返回字符串。
读取db路径的代码:
NSBundle *myDbBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle]pathForResource:@"myDbBundle" ofType:@"bundle"]];
NSLog(@"BundleIdentifier:%@",[myDbBundle bundleIdentifier]);
NSString *databasePath = [myDbBundle pathForResource:@"myDbName" ofType:@"sqlite"];
NSLog(@"DataBasePath:%@",databasePath);
欢迎提供有关此问题的任何建议、文档或教程。
更新: 似乎我无法加载捆绑包,这就是为什么当我尝试从中读取时失败的原因。
代码:
NSError *error;
NSLog(@"LoadBundle:%@",[myDbBundle loadAndReturnError:&error]?@"yes":@"no");
NSLog(@"Error:%@",[error localizedDescription]);
所以真正的问题是如何在女巫中创建一个捆绑包,我放置一个 sqlite 数据库,并且可以从 ios 应用程序中读取女巫?为了创建包,我在 Mac OS X 下使用了 xcode 模板,所以我认为我必须在构建设置中进行一些更改,但我不知道是什么。
【问题讨论】:
-
如果您查看捆绑包本身(使用 Finder 等),那里有 DB 文件吗?