MYAPP.app代码签名验证失败

问题描述 投票:0回答:2

我正在尝试使用 分发配置文件和证书签署我的 iOS 分发包。可以毫无错误地创建和签名该包,但是,当我尝试通过命令行安装该包时,出现以下错误。

错误:安装失败。出现错误“ApplicationVerificationFailed” 代码0xe8008015:无法验证代码签名 /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.FVZk62/extracted/Payload/MYAPP.app :0xe8008015(此可执行文件的有效配置文件不是 找到了。)

我可以将应用程序推送到 TestFlight,并且应用程序可以成功安装,但它会立即在启动屏幕上崩溃,并在设备日志中显示相同的错误消息。

我交叉检查了应用程序的权利和 ItunesConnect 中的权利,它们完全匹配。此外,我已经根据本指南验证了我的包裹的签名,看起来不错。

我运行了以下命令,一切看起来都很健康。

codesign --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)' Payload/MYAPP.app 

输出:

Payload/MYAPP.app:在磁盘上有效。
Payload/MYAPP.app:满足其指定要求。
Payload/MYAPP.app:满足明确要求。

有人遇到过类似的问题或知道可能的根本原因是什么吗?

ios xcode xamarin.forms provisioning-profile
2个回答
4
投票

分发配置文件不能用于直接在设备上安装应用程序。分发配置文件和证书用于通过 App Store 或 Test Flight 对应用程序进行“分发”签名。 如果您想直接在设备上安装应用程序,则需要使用 iOS 开发人员配置文件和证书,或者如果您有企业帐户,则需要使用带有开发人员证书的内部配置文件。获取开发人员资料和证书并使用它们进行构建。请注意,如果您使用的是开发配置文件,则必须确保您尝试安装的设备 ID 在配置文件中。

但是,您似乎还尝试通过 TestFlight 分发此内容。首先,验证签名的命令不会验证配置文件的任何内容。它只是验证代码签名是否正确。您的错误与配置文件有关。我将获取 .app,将扩展名更改为 .zip 并解压缩该包。在解压缩的文件夹中,您应该找到embedded.mobileprovision 文件。这是构建应用程序时与应用程序捆绑在一起的配置文件。我会在文本编辑中打开该文件并检查文件中的值以确保它们正确(特别是应用程序 ID 之类的内容)。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.