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

Ste*_*her 23 command-line xcodebuild ios xcode4

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

来自man xcodebuild:

       archive     Archive a scheme from the build root (SYMROOT).  This requires specifying
                   a workspace and scheme.
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我尝试使用它时,我收到一个错误:

$ 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.
Run Code Online (Sandbox Code Playgroud)

我的印象是这实际上还没有奏效.有没有人得到它的工作?如果是这样,怎么样?

Vin*_*rci 10

有关信息,我99%肯定xcodebuild archive是在以前的Xcode 4版本中工作,也许是Beta...而且这真的令人沮丧,因为系统-verbose日志并没有带来太多细节.

所以我会称之为......一个Bug!

如果您正在寻找自动化构建,则可以使用命令行生成IPA存档xcrun PackageApplication

通过xcrun打包和xcodebuild构建,您几乎可以实现xcodebuild archive应该做的事情.我更愿意使用,xcodebuild因为我们可以期望生成.xcarchive(.app+ .dSYM),比IPA更有趣.

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

编辑:在查看Apple论坛后,我确认这是与GM2一起推出的Xcode BUG ...我猜Apple Xcode工程师正在研究Xcode 4.1,我认为最终版本将与OSX Lion一起发布... 6月份可能吗?有修复?:(


Dan*_*ore 8

这似乎对我有用:

xcodebuild -project TestApp.xcodeproj  -scheme TestApp -configuration "Ad Hoc" archive
Run Code Online (Sandbox Code Playgroud)