Ank*_*wan 7 deployment itunes swift swift3 ios15
我们正在尝试在 iOS 15 上测试应用程序,发现我们收到此消息应用程序需要更新。
任何人都可以让我知道这条消息背后的原因吗?现有用户必须删除该应用程序并重新安装才能摆脱此警报。
Ant*_*Pak 37
我的企业应用程序遇到了同样的问题,幸运的是我已经成功解决了它。
如果您使用企业帐户部署应用程序,实际上有两个原因可能会导致 iOS 15 上出现此问题。该问题的根源在于 iOS 15 所要求的新签名格式。通过 App Store 发布的应用程序会自动辞职,因此它们不会受到该问题的影响。
另请注意,造成这种情况的主要原因是使用较旧的 MacOS 版本构建 IPA。如果您更新到最新的 Big Sur,您应该能够生成正确签名的 IPA。如果您不想更新,请阅读以下解决方案。
第一个原因
Apple 在此记录的第一个原因是您的 IPA 必须使用新的签名格式。如果 IPA 是使用 MacOS 10.14 或更高版本构建的,那么它应该很好。为了确保您的 IPA 具有正确的签名,请使用以下步骤:
codesign -dv /path/to/MyApp.appCodeDirectory。如果你看到v=20500或v=20400,那就很好了。如果您看到的值低于 20400,则需要使用以下命令重新签名您的应用程序:(codesign -s "Your Codesign Identity" -f --preserve-metadata /path/to/MyApp.app确保您使用 MacOS >= 10.14 执行此操作,然后重新运行codesign -dv /path/to/MyApp.app以确保您现在获得v=20400或v=20500)尝试重新安装此 IPA,它应该可以工作。如果没有,请阅读下面的第二个原因。
第二个原因
Apple 没有记录的另一个可能的原因有点棘手,那就是您可能需要重新签署您的应用程序,包括 DER 权利。要检查您是否需要执行此操作,请执行以下操作:
codesign -dvvvvv /path/to/MyApp.appPage size,您应该看到类似这样的内容: -7=4ade7be00e0a7b6db853edc4843e7ece1eea646f6f13d1809f78fc50d8db461f //If this line doesn't exist or contains only 000..., you need to include DER entitlements
-6=0000000000000000000000000000000000000000000000000000000000000000
-5=1dfa58bd8ac3c4fb42142c1c4d28c436128b3a7460186a44526194fb690112bc
-4=0000000000000000000000000000000000000000000000000000000000000000
-3=ef08dbe5a7c355336e1fb571604b683ce1c54536cb59a6155a1d18387fd23f6e
-2=5b730fa46ffd405fd88da9606d82eda9af7f460f6049047afc176163326f5a7f
Run Code Online (Sandbox Code Playgroud)
-7不存在或者仅包含000...,那么这就是 IPA 无法正确安装的原因。要解决此问题,请执行下一步codesign -s "Your Codesign Identity" -f --preserve-metadata --generate-entitlement-der /path/to/MyApp.app以注销您的应用程序,包括 DER 权利。重新运行codesign -dvvvvv /path/to/MyApp.app以确保该-7值现在正确。您现在应该可以安装 IPA 了!
我已使用以下配置修复了该问题:MacOS Big Sur(macOS 11.14) 和 Xcode 12.5.1。
据我了解,失败的原因是更新了签名格式。在 iOS 15 中,新格式是强制性的,而在 iOS 14 中,它仅给出警告。
有关签名的更多信息可以在这里找到: https ://developer.apple.com/documentation/xcode/using-the-latest-code-signature-format
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |