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

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

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

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崩溃(可能不处理签名异常).

任何添加标识符或其他方式以获得更新的配置文件兼容的方法将非常感激.

解决方法

我认为没有任何方法可以按照您的方式编辑配置文件.如果有,那将是Apple安全漏洞.

早期,我们的企业应用程序遇到了同样的问题,其中App停止为所有用户开放 – 问题是证书已过期.我无法像在AppStore应用程序中那样动态更新企业应用程序.

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

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

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...