使用 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 存档)的主要内容,如果未能解决你的问题,请参考以下文章
用于开源编译/构建的 Apple 命令行工具和 XCode?