【问题标题】:iOS app not updating properly through OTA Enterprise DistributioniOS 应用程序无法通过 OTA Enterprise Distribution 正确更新
【发布时间】:2012-11-16 18:55:29
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ios ipad installation updates ota


    【解决方案1】:

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

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

    【讨论】:

    • 所以更新后的应用在根文件夹中有一个新的 guid?
    • 嗨赫尔曼,我已经有一段时间没有参与这个项目了,但我相信情况就是这样。新版本的应用具有不同的 id,因此任何引用该 id 的旧路径都不会找到旧资源。
    • 是的,绝对是问题所在。谢谢,为我解决了一个长期存在的问题。
    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    相关资源
    最近更新 更多