我有一个使用我的开发人员证书签名的.ipa。我将此.ipa发送给客户,他们必须使用自己的证书辞职,以便进行内部分发。他们收到以下错误:
失败:供应配置文件中的证书与证书不匹配 签署的应用程序。要修复,请使用生产分配重新签名 证书名为“XXX”。
我真的要辞职吗?我假设客户端必须使用新证书和配置配置文件重新签名,但我不确定这是否可行。我的假设是否正确?
在我看来,我不应该对他们拥有的分发证书负责,而且他们在最终做错了。我可能错了,如果是的话 - 我应该用另一张证书签署.ipa吗?
答案 0 :(得分:1)
可以退出应用程序。当您构建应用程序一次并在您重新签名构建以分发给客户之后,它通常用于创建白色标签应用程序。
但有一些时刻你必须知道。
配置文件与应用程序包标识符相关。您无法使用其他应用的配置文件。在更改配置文件之前,您必须在 Info.plist
文件中更改应用程序标识符。配置文件受证书信任。配置文件定义应用程序功能/权利(推送通知,分发类型,调试模式等)
因此,配置文件和签名证书都已连接。
我使用了codesign
实用程序(macOS系统中的命令行工具)。
要在签名后检测问题,您可以使用以下指南:
*.ipa
文件是zip
存档文件夹。通过命令解压缩它:$ unzip MYAPP.zip
。之后出现文件夹Payload
embedded.mobileprovision
文件夹中查找Payload\MYAPP.app
。通过任何纯文本编辑器打开它。我使用TextWrangler
$ codesign -vv -d Payload/MYAPP.app
阅读所有输出有助于理解问题。也很友好的终端。
更有用的工具,用于在GitHub page
处签署,检测系统中的证书更新(从@avregi添加答案):
我们使用名为iOS App Signer的工具修复了它。
1:我将使用开发者证书签名的.ipa文件发送给客户端。
2:客户在Apple开发人员中心创建所需的证书和配置文件。
3:客户端打开iOS App Signer并填写必填字段。 (在我的情况下:.ipa,他们的证书和配置文件)。
4:iOS App Signer创建一个新的已撤销.ipa文件。
加成:
5:您可以通过在finder(显示包内容)中打开.app文件来验证您的.ipa文件。在此文件夹中搜索.mobileprovision文件并使用Provisioning进行检查。您应该会看到新的配置文件。
如果您按照这些步骤操作,则可以将.ipa从开发人员证书辞退到分发证书。
重要提示:应用程序iResigner没有重新签署导致我们出现问题的libswiftCore框架。我不推荐这个工具,因为它已经过时了。