xcode sqlite3 如何将数据库从捆绑包复制到文档文件夹?

Posted

技术标签:

【中文标题】xcode sqlite3 如何将数据库从捆绑包复制到文档文件夹?【英文标题】:xcode sqlite3 how to copy database from bundle to documents folder? 【发布时间】:2012-02-13 16:45:29 【问题描述】:

如何将数据库从捆绑包复制到 Documents 文件夹(从 xcode 界面或以编程方式)?我想使用 sqlite3 数据库来插入/更新。我已经使用 xcode 接口(拖放)制作了数据库并放入应用程序结构。

【问题讨论】:

iPhone (ios): copying files from main bundle to documents folder error的可能重复 【参考方案1】:

使用 NSFileManager 的-copyItemAtPath:toPath:error: 方法复制文件。如果您更喜欢使用 URL,还有-copyItemAtURL:toURL:error:

问题iPhone (iOS): copying files from main bundle to documents folder error中有一个很好的例子来说明如何做到这一点。

【讨论】:

第一个:检查文件是否存在,下一个:在 viewdidload 上复制文件? @ksprs8 我会在应用程序委托中执行此操作,也许是您的应用程序委托的-application:didFinishLaunchingWithOptions: 方法的一部分。当然,如果您愿意,请检查该文件是否已经存在于目的地,如果不存在,请进行复制。这不是绝对必要的:copyItemAtPath:... 将(根据文档)中止并返回一个错误,如果文件已经存在于目的地。但避免尝试覆盖数据文件似乎是个好主意。 你能输入(显示)完整的 -application:didFinishLaunchingWithOptions 代码吗? @ksprs8 查看更新的答案。您应该能够使用我链接的问题中提供的代码。该 Q 考虑复制整个目录,但如果您更改路径以包含您的文件名,它应该可以正常工作。

以上是关于xcode sqlite3 如何将数据库从捆绑包复制到文档文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

在xcode中通过sqlite3检查存在

如何将图像存储在 sqlite3 数据库中

xcode更改捆绑标识符以覆盖旧应用程序

iPhone 应用因 iCloud 数据存储指南而被拒绝

如何使用 xcode5 在 Mac 应用程序中对捆绑的可执行文件进行代码签名

gem install sqlite3 有效,捆绑安装无效?