我花了相当长的时间来解决以下问题:
我们通常将由Xcode构建的产品(OurApp.app)提供给客户进行测试(他们通常会通过iTunes将其拖放到测试设备上)。当然,所有这些设备都已启用测试,即已添加到我们构建应用程序的配置文件中。这已经运行良好一段时间了。
现在一个客户报告安装问题(iOS 6.0),我可以在我的iPhone 4(6.1.2)上重现这些问题,当我尝试将构建的存档拖放到Xcode组织器中的应用程序文件夹中时,设备控制台如下:
现在一个客户报告安装问题(iOS 6.0),我可以在我的iPhone 4(6.1.2)上重现这些问题,当我尝试将构建的存档拖放到Xcode组织器中的应用程序文件夹中时,设备控制台如下:
installd[54] <Error>: 0x2fef2000 handle_install: Install of "/var/mobile/Media/PublicStaging/OurApp.app" requested by mobile_installation_proxy
installd[54] <Error>: 0x2fef2000 MobileInstallationInstall_Server: Installing app ch.xxx.ourapp
installd[54] <Error>: 0x2fef2000 SecTrustEvaluate [leaf CriticalExtensions IssuerCommonName]
installd[54] <Error>: 0x2fef2000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.Zq80Gw/OurApp.app/OurApp: 0xe8008015
installd[54] <Error>: 0x2fef2000 do_preflight_verification: Could not verify executable at /var/tmp/install_staging.Zq80Gw/OurApp.app
mobile_installation_proxy[4310] <Error>: 0x3d232b88 MobileInstallationInstall: failed with -1
mobile_installation_proxy[4310] <Error>: handle_install: Installation failed
installd[54] <Error>: 0x2fef2000 install_application: Could not preflight application install
installd[54] <Error>: 0x2fef2000 handle_install: API failed
我已经尝试过以下方法:
- 通过
codesign verify -vvvv
验证存档,一切看起来都没问题。 - 当我通过Xcode > Run(使用相同的预配文件)部署应用程序时,该应用可以安装并在设备上运行。
- 在文本编辑器中查看存档的embedded.mobileprovision,我看到我的设备的UDID确实被包含在内。
- 虽然最终失败,但通过组织者安装仍成功将预配文件导入库中,并且它保留了绿色勾号,表示相应的证书也可用(我已删除并重新尝试安装,只观察到同样的行为多次)。
- 与某些人在论坛上声称的相反,使用开发预配文件构建的产品确实可以通过Xcode Organizer安装。您不需要分发预配文件即可执行此操作。我有几个使用开发预配文件构建的其他应用程序,描述的安装过程对它们也适用。
有任何想法吗?非常感谢任何建议,因为我现在卡住了。