如何在更新 iPhone 应用程序时保留库目录中的用户数据?

发布于 2024-11-17 14:51:51 字数 233 浏览 2 评论 0原文

根据Apple的iOS应用程序编程指南,应用程序保留文档目录。我的问题是库目录到底保留了什么?它是否也复制用户创建的文件/数据(如果存储在库目录中)或仅保留首选项和应用程序设置?

我的应用程序当前将用户数据存储在库目录中,用户在更新到新版本时丢失了数据。我不想再发生这样的事。

According to Apple's iOS Application Programming guide, application preserves documents and library directories. My question is what exactly library directory preserves? Does it copy user created files/data (if stored in library directory) as well or just preserves Preferences and application settings?

My app is currently storing user data in library directory and users lost their data on updating to newer version. I want not to happen this again.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮云落日 2024-11-24 14:51:51

用户创建的文件和数据应存储在文档文件夹中。该文件夹中的内容也使用 iTunes 进行备份。

User created files and data should be stored in the documents folder. The contents in that folder is also backed up using iTunes.

瞳孔里扚悲伤 2024-11-24 14:51:51

您不仅应该将用户数据保存在文档目录中。

/**
 Returns the path to the application's Documents directory.
 */
- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

但您也应该只存储位于该目录中的文件的相对路径。如果您存储绝对路径,您的应用程序将在更新后找不到数据。

第一次应用更新,用户数据丢失(存储在 Documents 目录中)

Not only should you be saving user data in the documents directory.

/**
 Returns the path to the application's Documents directory.
 */
- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

But you should also only store relative paths to the files located in that directory. If you store the absolute path, your app won't find the data after an update.

First App Update, User Data Lost (was stored in Documents directory)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文