来自命令行的 Xcode "Build and Archive"

标签 xcode command-line build

Xcode 3.2 在 Build 菜单下提供了一个很棒的新功能,“Build and Archive”,它可以生成适合 Ad Hoc 分发的 .ipa 文件。您也可以打开管理器,进入“归档的应用程序”和“提交应用程序到 iTunesConnect”。

有没有办法从命令行使用“构建和存档”(作为构建脚本的一部分)?我假设 xcodebuild 会以某种方式参与,但 man 页面似乎没有说明这一点。

更新 Michael Grinich 要求澄清;这就是你不能用命令行构建做的事情,你只能在“构建和存档”之后用 Xcode 的 Organizer 做的功能。

  1. 您可以单击“共享应用程序...”与 Beta 测试人员共享您的 IPA。正如 Guillaume 在下面指出的那样,由于 Xcode 的一些魔力,这个 IPA 文件不需要 beta 测试人员需要安装的单独分发的 .mobileprovision 文件;这很神奇。没有命令行脚本可以做到这一点。例如,Arrix 的脚本(5 月 1 日提交)不符合该要求。
  2. 更重要的是,在您对构建进行 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/

相关文章:

ios - ScrollView 设计可行性 - iOS

ios - 应用程序加载器错误 : XML Parsing Error has occurred

windows - 使用命令提示符意外删除具有长扩展名的文件

ios - 如何删除 SwiftUI 中列表行的最小垂直填充或最小高度?

bash - 如何将命令行参数传递给 sed?

具有多个源的 Java 命令行编译

c++ - Visual Studio的以下代码构建没有任何错误?

c++ - 使用 C++ 程序中的软件

build - 如何在 Mac OS X Lion 上构建哈希(使用最新的 ffmpeg-devel)

objective-c - TableView 的多个委托(delegate)