IOS Enterprise Distribution 更新会保留用户数据吗?

标签 ios distribution updates enterprise

我正在制作一个 iPad 应用程序,该应用程序将使用企业分发计划从我自己的 Web 服务器分发。 应用程序本身会检查服务器上是否有更新版本,并调用 IOS 中的 itms-services 来更新自身。这很完美。

应用程序包包含一个包含图像和电影等资源的目录。

Apple 声称,如果 bundle 标识符相同,更新将保留用户数据。

来自:http://help.apple.com/iosdeployment-apps/mac/1.1/#app43ad802c

If you want users to keep the app’s data stored on their device, make sure the new version uses the same bundle-identifier as the one it’s replacing, and tell users not to delete their old version before installing the new one. The new version will replace the old one and keep data stored on the device, if the bundle-identifiers match.

当从 Xcode 直接在连接的 iPad 上运行应用程序时,我可以删除包含资源的文件夹,再次运行应用程序,并且该文件夹仍保留在我的 iPad 上的 bundle 中。

这种行为正是我所寻找的。我计划添加更多包含新资源和新更新的文件夹。由于资源相当庞大,我不希望用户必须下载越来越大的文件。我只想添加新内容。

当我创建一个没有文件夹的新存档并像用户一样从我的网络服务器更新应用程序时,就会出现问题。然后该文件夹似乎被删除了。

有这方面的经验吗?

最佳答案

您安装的 bundle 始终会被您安装的新 bundle 覆盖。文档中提到的用户数据是存储在文件系统的Documents 和Library 文件夹中的数据。如果您希望确保旧的 bundle 文件始终可用,您可以将它们从 bundle 复制到应用程序的 Library/Caches 文件夹中。 值得一提的是,确保临时安装覆盖当前 bundle 的方法是确保您更改 bundle 版本。

希望这有帮助:)

关于IOS Enterprise Distribution 更新会保留用户数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15929784/

相关文章:

ios - 在 iOS 上使用 TestFlight 进行应用内更新

updates - 自动添加一行文本到编辑框

c++ - QLineSeries添加数据后如何更新/重绘QChart?

ios - 切换标签时 UITabBarController 变黑

iphone - 从 NSDictionary 填充表格 View

android - 为我们现有的客户部署工具到 iPhone 和 Android

iphone - 团队代理是唯一可以构建 Ad Hoc 的代理吗?

android - 跨平台游戏开发

iphone - 上传到appstore是否需要Build

c - C 中的随机整数,rand()%N 与整数运算相比有多糟糕?它的缺陷是什么?