是否可以更新配置文件而无需升级iOS企业应用程序?

时间:2015-05-15 15:37:43

标签: ios xcode provisioning-profile enterprise entitlements

新生成的配置文件似乎不再与同一应用的旧版本兼容。新应用程序可以使用新的配置文件,但是我们不希望升级链接到旧版本后端的所有应用程序,并且不能与最新的应用程序兼容。我们确实需要尽快续订配置文件,以保持旧应用的正常运行。我们之前已经这样做了,但现在我们遇到了以下问题。

使用更新的配置文件打开应用程序时,它会在控制台日志中显示此消息:

entitlement 'com.apple.developer.team-identifier' has value not permitted by provisioning profile 'My Profile'

在检查配置文件时,结果是包含团队标识符的数组现在不再是数组,而是单个元素。

以前的配置文件:

<key>com.apple.developer.team-identifier</key>
<array>
    <string>SomeIdentifier</string>
</array>

续订配置资料:

<key>com.apple.developer.team-identifier</key>
<string>SomeIdentifier</string>

是否可以向iOS配置文件添加团队标识?这样它就会再次变成阵列。

在Xcode项目中,我能够在两个地方找到团队标识符。在pbxproj文件和证书中。看起来可以在项目中为同一目标添加任何标识符,因为它是一个键值对样式分配。

我还试图破解新的配置文件,只是在项目周围包装数组标签(希望它不在签名范围之外)。不幸的是,当我尝试将被黑客攻击的配置文件安装到设备时,Xcode崩溃了(可能不会处理签名异常)。

任何添加标识符或其他方式以获得更新的个人资料兼容的方式都将非常感激。

1 个答案:

答案 0 :(得分:4)

我认为没有办法以您的方式编辑配置文件。如果有,则会Apple安全漏洞。

早期,我们的Enterprise Apps也遇到了同样的问题,其中App停止为所有用户开放 - 问题是证书已过期。我无法像Enterprise Apps那样动态续订AppStore Apps

我必须通过Jenkins自动创建具有续订证书的相同IPA并将其存储在服务器上的过程,App会自动获取新的二进制文件并要求用户升级它。

如果你能找到其他好方法 - 我会感兴趣的: - )