我花了相当多的时间尝试解决以下问题: 我们通常将 xcode 构建的产品 (OurApp.app) 提供给客户进行测试(然后他们通常通过 iTunes 将其拖到测试设备上)。当然,所有这些设备都已启用以进行测试,即添加到我们用来构建应用程序的配置文件中。这已经运行良好一段时间了。
现在,一位客户报告了安装问题 (iOS 6.0),当我尝试将构建的存档拖到 Xcode 管理器中设备的应用程序文件夹时,我可以在 iPhone 4 (6.1.2) 上重现这些问题。安装时设备控制台如下所示:
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 > 运行(相同的配置文件)部署应用程序时,可以在设备上安装并运行该应用程序
- 在文本编辑器中查看存档的嵌入.mobileprovision,我发现确实包含了我设备的 UDID
- 虽然最后失败,但通过管理器进行的安装成功地将配置文件导入到库中,并且它保留在那里,并带有绿色复选标记,表明相应的证书也可用(我已删除它并重试安装,只是为了多次观察相同的行为)
- 与一些人在论坛中所说的相反,确实可以通过 Xcode Organizer 安装使用开发配置文件构建的产品。为此,您不需要分发配置文件。我还有其他几个使用开发配置文件构建的应用程序,所描述的安装过程适用于这些应用程序。
你知道这里可能出了什么问题吗?我非常感谢任何建议,因为我被困在这里。
最佳答案
如果我在将构建压缩到 IPA 之前使用 Finder 浏览构建版本,我也遇到过类似的问题。我认为它正在创建明显未签名的 .DS_Store
文件。
您如何创建 IPA 文件?您可以在解压失败的 IPA 时验证代码签名吗?
此外,您确实了解 OTA 分发,对吗?使用像 TestFlight 这样的东西比手动操作要简单得多。
关于iphone - 无法通过 Xcode Organizer/iTunes 安装 iPhone 应用程序存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15138334/