2013-02-28 52 views
3

我花了相当长的一段时间,试图解决以下问题: 我们用给的Xcode内置产品(OurApp.app)为我们的客户进行测试(他们通常然后通过iTunes将它们拖放到他们的测试设备上)。当然,所有这些设备都可以进行测试,即添加到我们构建应用程序的配置文件中。这一直工作良好一段时间。无法通过Xcode的组织者/ iTunes安装iPhone应用程序归档

现在客户报告了安装问题(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 Verfied存档,一切似乎确定
  • 当我部署通过的Xcode>运行应用程序(同样的供应配置文件),应用程序可以安装和设备
  • 望着在文本编辑器存档的embedded.mobileprovision上运行,我看到我的设备的UDID确实包含
  • 虽然最后失败,但通过Organizer安装成功将导入配置文件导入到存储库中,并且它保持在那里,并显示绿色复选标记,指示相应的证书也可用(我已删除它并重试安装,仅用于观察几次相同的行为)
  • 与某些人在论坛中陈述的情况相反,确实可以通过Xcode Organizer安装使用开发配置文件构建的产品。你不需要为此分发配置文件。我有几个其他应用程序使用所描述的安装过程工作的开发配置文件构建。

任何想法可能是错误的吗?我非常感谢任何建议,因为我在这里很困难。

回答

1

我已经看到类似的问题,如果我用Finder浏览一个构建,然后将它压缩到IPA中。我认为这是创建.DS_Store明显未签名的文件。

你是如何创建IPA文件的?解压缩失败的IPA时能否验证代码签名?

此外,你知道OTA分布,对吗?使用像TestFlight这样的工具要比手工操作简单得多。

+0

我通过压缩.app文件(zip -y -r MyApp.app)来创建存档。解压缩时,我看不到任何.DS_Store文件。对于其他项目,我们使用OTA发行版(HockeyKit),但是因为这个版本的发行版每年只需要一次,所以我们不希望为此转向OTA。 – Katlu 2013-03-04 10:08:43

+0

我现在尝试使用生成.ipa归档而不是zip(/ usr/bin/xcrun -sdk iphoneos PackageApplication -v MyApp.app -o $ WORKSPACE/MyApp。$ BUILD_NUMBER.ipa --embed $ MY_APP_PROVISIONING)。我可以看到,创建ipa时验证步骤是可以的。当我在本地机器上构建时(ipa可以被拖入我的设备的组织器)时,这会有所不同,但是当ipa构建在构建服务器上时,它仍然不起作用。 – Katlu 2013-03-04 10:13:53

+0

解压失败的IPA时可以验证代码签名吗? – Jim 2013-03-04 13:43:25

相关问题