问题

Xcode 3.2在Build菜单“Build and Archive”下提供了一个非常棒的新功能,它生成了一个适合特设分发的.ipa文件.您还可以打开Organizer,转到“Archived Applications”和“向iTunesConnect提交应用程序”.

有没有办法从命令行使用“Build和Archive”(作为构建脚本的一部分)?我假设xcodebuild会以某种方式涉及,但man页面似乎没有对此说任何东西.

更新 Michael Grinich 要求澄清;这正是您在“构建和存档”之后无法使用命令行构建的特性。

  1. 您可以单击“Share Application ...”与beta测试人员共享您的IPA.如下所示,由于一些Xcode魔术,这个IPA文件不需要一个单独分布的.mobileavice文件,beta测试人员需要安装;这很神奇.没有命令行脚本可以做到这一点.例如,Arrix的脚本(提交的5月1日)不符合该要求.
  2. 更重要的是,在测试构建之后,您可以单击“向iTunes Connect提交应用程序”向Apple提交EXACT相同的构建,这是您测试的二进制文件,而不重建它.从命令行来看,这是不可能的,因为签署应用程序是构建过程的一部分;您可以为Ad Beta Pristic测试签名位,或者您可以签署它们以提交App Store,但不是两者.在命令行上构建的IPA不能在手机上测试,然后直接提交给Apple.

我希望有人来证明我错了:这两个功能在Xcode GUI中运行良好,无法从命令行复制.

  最佳答案

我发现如何从comand行自动化构建和存档过程,我刚刚写了一个博客文章,解释了如何实现这一目标.

您必须使用的命令是xcrun:

 /usr/bin/xcrun -sdk iphoneos PackageApplication \
-v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" \
-o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" \
--sign "${DEVELOPER_NAME}" \
--embed "${PROVISONING_PROFILE}"
 

您将在 文章 中找到所有的细节。

  相同标签的其他问题

xcodecommand-linebuild