2012-04-18 42 views
1

我正在用xcodebuild以一种非常标准的方式构建我的AD Hoc分发应用程序。在生成配置文件(配置文件A)被嵌入并且应用程序使用证书(certA)进行签名期间 - 在SDKSettings.plist中将CODE_SIGNING_REQUIRED设置为YES。 构建完成后,我想嵌入一个不同的供应配置文件(profileB),并使用不同的证书(certB)退出我的应用程序。对于这个我使用:创建成功用xcrun辞职ipa PackageApplication阻止IPA安装

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包,型材(概貌)嵌入,并用新的证书(certB)的迹象,但可惜的是我无法在设备上安装的软件包。在安装过程中,安装进度条在4/5处挂起,并弹出错误消息“无法下载程序,现在无法安装'XXX'。”与关闭和重试按钮。 (这是我的翻译,所以它可能不是100%准确)。当然,设备UDID包含在配置文件中。如果我不辞去软件包,应用程序可能会安装在设备上(使用profielA和certA),如果我在XCODE设置中使用certB和profileB,也可能安装该软件包。你知道可能是什么问题吗?它看起来好像有些东西阻止我的软件包在设备上的安装,但我不知道我应该改变什么。

问候!

回答

-1

Xcrun PackageApplication不处理权利,因此无法以此方式使用完全不同的cert/profile重新分配包。