使用 Xcode 的命令行构建工具存档(xcodebuild 存档)

Posted

技术标签:

【中文标题】使用 Xcode 的命令行构建工具存档(xcodebuild 存档)【英文标题】:Archive with Xcode's command line build tool (xcodebuild archive) 【发布时间】:2011-07-20 02:11:43 【问题描述】:

用于构建 Xcode 项目的命令行工具 xcodebuild 在 Xcode 4 中提供了一个新的构建操作:archive

来自man xcodebuild

       archive     Archive a scheme from the build root (SYMROOT).  This requires specifying
                   a workspace and scheme.

不幸的是,当我尝试使用它时出现错误:

$ xcodebuild archive -workspace SimpleTestApp.xcworkspace -scheme SimpleTestApp
xcodebuild: error: Failed to build workspace SimpleTestApp with scheme SimpleTestApp.
    Reason: The selected run destination is not valid for this action.

我的印象是这实际上还不起作用。有没有人让它工作?如果有,怎么做?

【问题讨论】:

有人知道如何启动 xcodebuild 存档吗? 是的,我是针对工作区而不是项目调用它。 你能在 xcode 中很好地构建吗? 是的,它在 IDE 中运行良好。但我想自动化我的构建。 确保方案名称完全相同。我的方案在 Xcode 中被称为“MyProject Ent”,而从命令行我调用的是“MyProjectEnt”,这是不正确的。编辑这是“管理方案” 【参考方案1】:

关于信息,我 99% 确定 xcodebuild archive 在以前的 Xcode 4 版本中工作,可能是 Beta... 这真的很令人沮丧,因为-verbose 和 syslogs 并没有带来太多细节。

所以我会称之为...一个错误!

如果您正在寻找自动化构建的方法,有一种方法可以使用 generate IPA archive from command line 使用 xcrun PackageApplication

使用xcrun 打包和xcodebuild 构建,您几乎可以实现xcodebuild archive 应该做的事情。我更喜欢使用xcodebuild,因为我们可以预期它会生成.xcarchive (.app + .dSYM),比 IPA 更有趣。

不是那么离题,但如果有人知道如何从 xcodebuild 和 Xcode 获取更多日志,我真的很感兴趣!

编辑: 在查看in Apple Forums 之后,我确认这是 GM2 引入的 Xcode BUG...我猜 Apple Xcode 工程师正在开发 Xcode 4.1,我认为最终版本将与 OSX Lion 一起发布...可能在 6 月?有修复吗? :(

【讨论】:

这是我的论坛主题。 :) 在这一点上,我想要的似乎是不可能的。 哈哈,我应该检查名字的!这也让我很困惑,我喜欢存档的概念,以及它为 AppStore 提交带来的简化,但也希望在 beta 阶段实现自动化! >_ 4.3.2 好像又断了:unsupported build action 'archive' :( 我很久以前就放弃了使用它的想法...并使用 Xcode IDE 来执行此操作... man xcodebuild 仍然提到archive 作为有效的buildaction。 ..听起来像一个错误......再次。【参考方案2】:

这似乎对我有用:

xcodebuild -project TestApp.xcodeproj  -scheme TestApp -configuration "Ad Hoc" archive

【讨论】:

【参考方案3】:

这是从 GUI 工作的吗? 项目 -> 为存档而构建 然后您可以在管理器中找到存档(存档选项卡) 它在 GUI 中为我工作

【讨论】:

是的,它在 GUI 中运行良好。 xcodebuild 是执行此操作的命令行组件的名称。我在这个问题中澄清了一点,谢谢。

以上是关于使用 Xcode 的命令行构建工具存档(xcodebuild 存档)的主要内容,如果未能解决你的问题,请参考以下文章

Xcode - 命令行构建

xcode - 使用命令行构建应用程序会导致配置文件错误

用于开源编译/构建的 Apple 命令行工具和 XCode?

证书:未知,配置文件:xcode 10.1 存档中没有

如何通过命令行构建和部署 Xcode 项目到新的 Apple 的 TestFlight

xcode 7:使用相同存档为企业和临时构建