2012-11-16 55 views
2

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

添加到新版本的应用包中的任何新资源都无法在最新版本中访问;客户端必须先删除旧的应用程序,然后使用新版本重新安装,以便查看应用程序包中的新资源。

每个版本中的.plist文件为捆绑版本指定了不同的编号,因此不应在较新的版本中使用相同的应用捆绑包。

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

回答

1

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

我修改了代码,始终从NSDocumentsDirectory抓取文件路径,而不是从用户默认值存储和抓取它;我不知道它为什么最初实现来存储文件路径。

+0

因此,更新的应用程序在根文件夹中有一个新的GUID? –

+0

嗨赫尔曼,我从事这个项目已经有一段时间了,但我相信是这样。新版本的应用程序具有不同的ID,因此引用该ID的任何旧路径都不会找到旧资源。 – SeanK

+0

是的,肯定是问题所在。谢谢,为我解决了一个长期存在的问题。 –

相关问题