如何将sqlite3数据库文件存储在应用程序的Library目录中?
几乎每个人和每个教程似乎都将其私有应用程序数据存储在文档目录中。
但在我的图像编辑应用程序中,我希望用户能够使用 iTunes 文件共享。问题:它向用户公开了文档中的所有内容,并且他可能会意外删除重要的私人应用程序数据文件夹,例如 SQLite 数据库。
苹果建议这样做:
如果您不想共享文件 与用户一起,将他们放入您的 应用程序的库目录。如果 没有标准库 子目录合适,创建 图书馆内的私人目录 目录并为其指定名称 应用程序的包 ID。那么你可以 使用该目录来存储任何文件 对于您的应用程序来说是私有的。
我从来没有听说过那个图书馆目录。现在的问题是:如何访问该目录?它在哪里?是否会像用户与 iTunes 同步时的文档目录一样进行备份?
Pretty much everyone and every tutorial seems to store it's private app data in the documents directory.
But in my image editing app I want the user to be able to use iTunes file sharing. The problem: It exposes everything in documents to the user, and he can accidentally delete important private app data folders like the SQLite database.
Apple recommends this:
If you do not want files to be shared
with the user, put them in your
application’s Library directory. If
none of the standard Library
subdirectories are appropriate, create
a private directory inside the Library
directory and give it the name of your
application’s bundle ID. You can then
use that directory to store any files
that are private to your application.
I have never heard of that Library directory. Now the question is: How can I access this directory? Where is it? Will it be backed up, just like the documents directory when the user syncs with iTunes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 NSLibraryDirectory 代替 NSDocumentDirectory (在您提到的那些示例中)来获取库目录,然后使用 NSFileManager 在其中创建一个目录。
阅读
此
了解有关应用程序目录结构的更多信息。除Caches
目录外,Library
目录均已备份。Use
NSLibraryDirectory
in lieu ofNSDocumentDirectory
(in those examples you speak of) to get the library directory and then create a directory in there usingNSFileManager
.Read
this
for more information on the application directory structure. TheLibrary
directory is backed up except theCaches
directory.