无法将Enterprise应用程序安装到具有未注册UUID的设备

时间:2013-09-05 17:19:13

标签: iphone ios ipad

我创建了一个通用应用。我正在尝试使用我们的企业开发人员许可证分发应用程序。

问题在于: 如果我在已注册UUID的设备上安装该应用程序,该应用程序安装正常。 如果我“尝试”在没有注册UUID的设备上安装应用程序,则安装无法完成。 我收到消息“无法下载应用程序”此时无法安装“我的应用程序”。

这是我得到的日志:

Sep  5 10:47:07 my-iPad installd[54] <Error>: 0x2c3000 handle_install: Install of "/var/mobile/Media/PublicStaging/My App.app" requested by mobile_installation_proxy
Sep  5 10:47:08 my-iPad installd[54] <Error>: 0x2c3000 MobileInstallationInstall_Server: Installing app com.mysite.My-App
Sep  5 10:47:08 my-iPad installd[54] <Error>: profile not valid: 0xe8008012
Sep  5 10:47:08 my-iPad installd[54] <Error>: 0x2c3000 install_embedded_profile: Could not install embedded profile: 0xe8008012
Sep  5 10:47:08 my-iPad installd[54] <Error>: Sep  5 10:47:08  SecTrustEvaluate  [leaf CriticalExtensions IssuerCommonName]
Sep  5 10:47:09 my-iPad installd[54] <Error>: 0x2c3000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.xjOLHU/My Appp.app/My App: 0xe8008015
Sep  5 10:47:09 my-iPad installd[54] <Error>: 0x2c3000 do_preflight_verification: Could not verify executable at /var/tmp/install_staging.xjOLHU/My App.app
Sep  5 10:47:09 my-iPad installd[54] <Error>: 0x2c3000 install_application: Could not preflight application install
Sep  5 10:47:09 my-iPad mobile_installation_proxy[907] <Error>: 0x3cadbb78 MobileInstallationInstall: failed with -1
Sep  5 10:47:09 my-iPad mobile_installation_proxy[907] <Error>: handle_install: Installation failed
Sep  5 10:47:10 mu-iPad installd[54] <Error>: 0x2c3000 handle_install: API failed

我已经完成了常规故障排除:

  • 创建新证书,确保我拥有内部分发证书
  • 创建新的分发配置文件
  • 确保.ipa正在使用distibution / adhoc配置文件进行签名
  • 验证我的.plist是否正确
  • 使用简单的网页安装(同样的问题)
  • 使用iPhone配置实用程序安装(同样的问题)
  • 基于其他人的经验,大约有一百万个其他更深奥的构建模型 等......等等......

我很确定这个问题与分发配置文件有关。错误日志似乎指向配置文件的问题(“配置文件无效:0xe800812”)。我已经与Apple支持人员谈过,他们说证书和配置文件似乎是正确的。

我的一个支持电话让我很困惑。 Apple代表表示,在使用Enterprise许可证构建应用程序以进行分发时,您仍需要注册所有设备的UUID。我不认为这是准确的。根据我的研究,.ipa包含已安装的嵌入式配置文件,您无需注册所有设备。

但是,就像我之前所说:如果我在分发/ adhoc配置文件中包含的设备上运行安装,它就可以运行。我完全困惑,迫切需要帮助。

4 个答案:

答案 0 :(得分:38)

  1. 获取您的IPA文件,将其重命名为.zip扩展名。
  2. 解压缩此文件并在Finder中打开Payload目录。
  3. 右键单击您的应用程序,然后单击“显示包内容”。
  4. 找到文件embedded.mobileprovision,并在文本编辑器中打开此文件(如 文本编辑)。
  5. 现在,如果在此XML文档中看到ProvisionedDevices的密钥,则表示您没有使用正确的配置文件进行签名。您需要创建In House配置文件。如果您使用内部配置文件正确签署了应用程序,则不会在embedded.mobileprovsion文件中看到ProvisionedDevices密钥,而是ProvisionsAllDevices的密钥,它将是{{} 1}}。

答案 1 :(得分:3)

出现此错误的原因是因为在iOS 7.1 Beta中,plist的链接必须为https格式。 如果未以https格式向您提供URL,只需将http更改为https,如下所示: ITMS服务://行动=下载舱单和放大器; URL = https://hostname.utest.com/OTA_App_Name.plist 然后,将整个链接(从itms-services开始)复制并粘贴到Safari中,您就可以使用OTA下载并安装该应用程序。

答案 2 :(得分:2)

如果这有任何帮助,我遇到了同样的问题并且真的使用了企业证书,但问题来自ipa本身。

should NOT use xcodebuild to create the ipa

xcodebuild \
 -exportArchive \
 -exportFormat IPA \
 -exportPath "$BUILD_PATH/$PRODUCT_NAME.ipa" \
 -archivePath "$BUILD_PATH/$PRODUCT_NAME.xcarchive

但改为使用xcrun

xcrun -sdk iphoneos PackageApplication \
  -v $BUILD_PATH/$PRODUCT_NAME.xcarchive/Products/Applications/$PROJECT_NAME.app \
  -o $BUILD_PATH/$PRODUCT_NAME.ipa

因为否则在创建ipa期间会删除文件archived-expanded-entitlements.xcent,从而导致同样的错误。

答案 3 :(得分:1)

我同意你的意见,没有必要为企业证书注册设备。您的个人资料似乎与您的企业证书没有“关联”,而是一个特殊证书,是否可能? (如果你有几个证书)。 您是否尝试在钥匙串访问中删除并重新安装证书?