我正在尝试使用分发配置文件和证书在我的iOS分发包中签名。可以创建并签名包没有错误,但是,当我尝试通过命令行安装包时,我收到以下错误。
错误:安装失败。得到错误“ApplicationVerificationFailed” 代码0xe8008015:无法验证代码签名 /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.FVZk62/extracted/Payload/MYAPP.app :0xe8008015(此可执行文件的有效配置文件不是 找到。)
我可以将应用程序推送到TestFlight并且应用程序可以成功安装,但它会立即在启动屏幕上崩溃,并在设备日志中显示相同的错误消息。
我在ItunesConnect中交叉检查了应用程序的权利和权利,它们完全匹配。此外,我已根据this guide验证了我的包的签名,看起来很好。
我运行了以下命令,一切看起来都很健康。
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:满足明确要求。
有没有人遇到类似问题或知道可能的根本原因是什么?
答案 0 :(得分:1)
分发配置文件无法用于直接在设备上安装应用程序。分发配置文件和证书用于通过App Store或Test Flight对应用程序进行分发签名。
如果要直接在设备上安装应用程序,则需要使用iOS开发人员配置文件和证书,或者如果您拥有企业帐户,则需要使用带有开发人员证书的内部配置文件。获取开发人员资料和证书并使用这些建立。请注意,如果您使用的是开发配置文件,则必须确保要安装的设备ID位于配置文件中。
但是,您似乎也试图通过TestFlight分发它。首先,验证签名的命令不会使用配置文件验证任何内容。它只是验证代码签名是否正确。您的错误与配置文件相关。我会使用.app,将扩展名更改为.zip并解压缩包。在解压缩的文件夹中,您应该找到和embedded.mobileprovision文件。这是在构建应用程序时与应用程序捆绑在一起的配置文件。我会在文本编辑中打开该文件并检查文件中的值以确保它们是正确的(特别是应用程序ID)。