Xcode 3.2 在 Build 菜单下提供了一个很棒的新功能,“Build and Archive”,它可以生成适合 Ad Hoc 分发的 .ipa 文件。您也可以打开管理器,进入“归档的应用程序”和“提交应用程序到 iTunesConnect”。
有没有办法从命令行使用“构建和存档”(作为构建脚本的一部分)?我假设 xcodebuild
会以某种方式参与,但 man
页面似乎没有说明这一点。
更新 Michael Grinich 要求澄清;这就是你不能用命令行构建做的事情,你只能在“构建和存档”之后用 Xcode 的 Organizer 做的功能。
- 您可以单击“共享应用程序...”与 Beta 测试人员共享您的 IPA。正如 Guillaume 在下面指出的那样,由于 Xcode 的一些魔力,这个 IPA 文件不需要 beta 测试人员需要安装的单独分发的 .mobileprovision 文件;这很神奇。没有命令行脚本可以做到这一点。例如,Arrix 的脚本(5 月 1 日提交)不符合该要求。
- 更重要的是,在您对构建进行 Beta 测试后,您可以单击“提交应用程序到 iTunes Connect”将完全相同的构建提交给 Apple,即您测试的二进制文件,而无需重新构建它。这在命令行中是不可能的,因为签署应用程序是构建过程的一部分;您可以为 Ad Hoc beta 测试签名,或者您可以签名它们以提交到 App Store,但不能同时进行。任何基于命令行构建的 IPA 都不能在手机上进行 beta 测试,然后直接提交给 Apple。
我很想有人来证明我错了:这两个功能在 Xcode GUI 中都很好用,并且不能从命令行复制。
最佳答案
我发现了如何从命令行自动化构建和归档过程,我刚刚写了一个 blog article解释如何实现这一目标。
你必须使用的命令是 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}"
您将在 the article 中找到所有详细信息.如果您有任何问题,请不要犹豫。
关于来自命令行的 Xcode "Build and Archive",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2664885/