我创建了一个通用应用。我正在尝试使用我们的企业开发人员许可证分发应用程序。
问题在于: 如果我在已注册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
我已经完成了常规故障排除:
我很确定这个问题与分发配置文件有关。错误日志似乎指向配置文件的问题(“配置文件无效:0xe800812”)。我已经与Apple支持人员谈过,他们说证书和配置文件似乎是正确的。
我的一个支持电话让我很困惑。 Apple代表表示,在使用Enterprise许可证构建应用程序以进行分发时,您仍需要注册所有设备的UUID。我不认为这是准确的。根据我的研究,.ipa包含已安装的嵌入式配置文件,您无需注册所有设备。
但是,就像我之前所说:如果我在分发/ adhoc配置文件中包含的设备上运行安装,它就可以运行。我完全困惑,迫切需要帮助。
答案 0 :(得分:38)
现在,如果在此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)
我同意你的意见,没有必要为企业证书注册设备。您的个人资料似乎与您的企业证书没有“关联”,而是一个特殊证书,是否可能? (如果你有几个证书)。 您是否尝试在钥匙串访问中删除并重新安装证书?