是否可以在不需要升级 iOS 企业应用程序的情况下更新配置文件?

Is it possible to renew provisioning profiles without needing to upgrade iOS enterprise apps?

新生成的配置文件似乎不再与同一应用程序的旧版本兼容。新应用程序确实适用于新配置文件,但我们不想升级所有链接到旧版本后端且与最新应用程序不兼容的应用程序。我们确实需要尽快更新配置文件,以保持旧应用程序正常运行。我们以前这样做过,但现在遇到以下问题。

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

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 安全漏洞。

早期,我们的 Enterprise Apps 遇到了同样的问题,应用程序停止为所有用户打开 - 问题是证书已过期。我找不到像 AppStore Apps 那样即时续订 Enterprise Apps

我不得不通过 Jenkins 自动创建具有更新证书的相同 IPA 并将其存储在服务器上,应用程序自动选择新的二进制文件并要求用户升级它。

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