3

我有一个通过 OTA Enterprise Distribution 分发给客户端的 iPad 应用程序。该应用程序在客户的 iPad 上分发和安装没有问题。当他们尝试安装较新版本的应用程序时会出现问题。

在新版本中添加到 app bundle 中的任何新资源在最新版本中都无法访问;客户端必须先删除旧应用程序并重新安装新版本才能看到应用程序包中的新资源。

每个构建中的 .plist 文件为 bundle-version 指定不同的编号,因此不应在较新的构建中使用相同的应用程序包。

我似乎无法在任何地方找到解决方案。有没有其他人遇到过这个问题?您对我如何解决它有什么建议吗?

4

1 回答 1

2

原来问题不在于应用程序包。某些资源被保存到 Documents 文件夹(因为较新的版本是通过应用程序下载的)并且文件路径被保存到用户默认值。当应用程序更新为新版本时,文件路径变得无效,因为新更新的应用程序在路径中有不同的 uid,因此找不到存储在 Documents 文件夹中的资源。

我修改了代码以始终从 NSDocumentsDirectory 中获取文件路径,而不是从 User Defaults 中存储和获取它;我不确定为什么最初实现它是为了存储文件路径。

于 2012-11-26T18:01:48.903 回答