我们正在尝试在iOS 15上测试应用程序,发现我们收到了此消息“应用需要更新”。
请问有谁可以告诉我这个消息背后的原因?现有用户必须删除该应用程序并重新安装以摆脱此警报。
我们正在尝试在iOS 15上测试应用程序,发现我们收到了此消息“应用需要更新”。
请问有谁可以告诉我这个消息背后的原因?现有用户必须删除该应用程序并重新安装以摆脱此警报。
我的企业应用程序也遇到了同样的问题,幸运的是我已经成功解决了。
如果您正在使用企业帐户部署应用程序,则在iOS 15上可能会出现此问题的两个原因。问题的根本原因是需要在iOS 15上使用新的签名格式。通过App Store发布的应用程序会自动重新签名,因此它们不受此问题的影响。
此外,需要注意的是,导致此问题的主要原因是使用旧版本的MacOS构建IPA文件。如果您升级到最新的Big Sur,则应该能够生成正确签名的IPA文件。如果您不想更新,请阅读以下解决方案。
第一个原因
第一个原因,由Apple在此处记录,是您的IPA必须使用新的签名格式。如果IPA是使用MacOS 10.14或更高版本构建的,则应该可以。为确保IPA具有正确的签名,请执行以下步骤:
codesign -dv /path/to/MyApp.app
CodeDirectory
旁边的值。如果您看到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.app
Page 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
-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了!