我使用xcodebuild以一种非常标准的方式为AD Hoc发行版构建我的应用程序。在构建过程中,会嵌入provisioning profile (profileA),并使用证书(certA)对应用程序进行签名-在SDKSettings.plist中将CODE_SIGNING_REQUIRED设置为YES。在构建之后,我想嵌入一个不同的配置文件(profileB),并用一个不同的证书(certB)重新签署我的应用程序。为此,我使用:
SIGNING_IDENTITY=certB
PROVISIONING_PROFILE=full/path/to/profileB
/usr/bin/xcrun PackageApplication -v "${CONFIGURATION_BUILD_DIR}/${PROJECT_NAME}.app" -o "${CONFIGURATION_BUILD_DIR}/${IPAFILE}" --sign "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"IPA包已成功创建,配置文件(profileB)已嵌入并使用新证书(certB)签名,但不幸的是我无法在设备上安装该包。在安装过程中,安装进度条挂在4/5上,并弹出错误消息“无法下载程序。您现在无法安装'XXX‘。”带有关闭和重试按钮。(这是我的翻译,所以它可能不是100%准确的)。当然,设备UDID也包含在配置文件中。如果我不重新签署软件包,应用程序可能会安装在设备上(使用profielA和certA),如果我在XCODE设置中设置了use certB和profileB,也可能会安装软件包。你知道问题出在哪里吗?看起来好像有一些东西阻止了我的软件包在设备上的安装,但我不知道我还应该修改什么。
致以问候!
发布于 2012-04-23 14:47:02
Xcrun PackageApplication不处理授权,因此不能以这种方式使用完全不同的证书/配置文件重新签名包。
https://stackoverflow.com/questions/10207954
复制相似问题