我正在使用xcodebuild以非常标准的方式构建我的AD Hoc分发应用程序。在构建配置文件(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设置中设置了使用certB和profileB,那么也可以安装包。你知道可能是什么问题吗?看起来有些东西会阻止我的软件包在设备上安装,但我不知道还有什么我应该改变的。
问候!
答案 0 :(得分:-1)
Xcrun PackageApplication不处理权利,因此不能以这种方式使用完全不同的证书/配置文件来重新签名包。