代码签名的 IPA 在 iOS7 上运行,但不在 iOS8 上运行

Code-signed IPA runs on iOS7 but not on iOS8

我有一个在 iOS8 和 iOS7 上运行的应用程序版本,我想对其进行代码签名以用于企业部署。当我这样做时,它在 iOS7 上成功运行,但在 iOS8 上,当点击应用程序时它挂起安装,只有一个灰色图标。

我注意到的一件事是供应商提供的最新解压缩有效载荷不包含 ResourceRules.plist 文件,想知道这是否可能是问题所在?

我尝试过不使用 ResourceRules.plist、使用旧的(可能不准确?)ResourceRules.plist 并使用不同的配置文件和证书的代码签名。每次都得到与上述相同的行为。

我还应该检查什么来尝试解决这个问题?谢谢

编辑:我在安装时得到以下调试信息(identifier/app 出于隐私原因,名称更改为 aaa、bbb 和 ccc):

1 月 14 日 11:06:09 Brads-AIR atc[31]:0x101f7c000 __MobileInstallationInstallForLaunchServices_block_invoke240:返回错误错误域=MIInstallerErrorDomain 代码=37 "Appex bundle at "/private/var/mobile/Library/Caches/com.apple.mobile.installd.staging/temp.FYHYX8/extracted/Payload/CCC.app/PlugIns/Photo.appex" with identifier "com.aaa.AAA" does not have expected identifier prefix "com.bbb.BBB"" UserInfo=0x12ff52da0

好的,我明白了。问题是嵌套在应用程序包中的插件也需要首先进行代码签名(删除 its _CodeSignature,更改 its 中的包标识符 Info.plist, 替换 its embedded.mobileprovison, codesign it separately), 就好像它是一个需要配置的应用程序中的一个应用程序首先.