将本地SQLite数据库复制到iPhone?

时间:2010-02-14 16:57:47

标签: iphone objective-c sqlite core-data

我正在用coredata和objective-c做一些实验。 我的应用程序在模拟器中工作正常。

它也适用于我的iPodTouch。 但是如何将我的本地数据库复制到我的设备?

感谢,

3 个答案:

答案 0 :(得分:3)

将sqlite文件复制出模拟器目录结构(在〜/ Library / Application Support / iPhone Simulator下)并将其放入项目中以包含在Resources目录中。在那里你可以:

  1. 在运行时将文件复制到文档目录以使其可写;或
  2. 直接从应用包中引用它,使其成为只读数据库
  3. 取决于您的应用需求。

答案 1 :(得分:1)

检查标题为“如何将现有SQLite数据库与Core Data一起使用?”的问题?在Core Data FAQ

您可能还会发现此blog post有用。

答案 2 :(得分:1)

这是解决方案(感谢Marcus S. Zarra)

更改此

NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"Locations.sqlite"]]

进入这个:

NSURL *storeUrl = [NSURL fileURLWithPath: [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: @"Locations.sqlite"]];