xcodebuild的构建速度比Xcode慢吗?

15

使用xcodebuild命令行构建比在Xcode中构建相同项目、相同方案和相同目标要慢数倍。有人知道为什么会这样,以及如何加快xcodebuild的构建吗?

我是这样调用xcodebuild的:

xcodebuild -scheme <SCHEME> -workspace <WORKSPACE> -configuration Debug -sdk iphonesimulator7.0 -jobs 12 build

针对在12核Mac Pro上构建的问题。我猜测-jobs设置,但它似乎合理。有人有什么建议吗?通过分析Xcode的构建日志,是否有一种方法可以确定xcodebuild的设置与Xcode本身使用的最接近的设置是什么?谢谢!


1
你弄明白了吗? - chenop
1
我有同样的问题。我唯一能想到的是优化级别,但它们都使用了 -O3。 - M Katz
2个回答

1
尽管这可能无法完全解释xcodebuild相对IDE的缓慢,但我发现如果我禁用~/Library/Developer/Xcode/DerivedData目录上的Spotlight索引,会有一些改进。

这应该没有任何影响,因为Spotlight默认情况下根本不会索引~/Library(除了Apple Mail数据)。 - heyfrank

-1

当使用xcodebuild test时,每次都会重新启动模拟器。这是导致xcodebuild缓慢的主要原因。当您直接使用xcode测试时,模拟器在启动后不会再次启动两次。

您可以尝试这个方法:

xcodebuild -project Example.xcodeproj \
    -scheme ExampleTests \
    -disable-concurrent-destination-testing \
    -destination 'platform=iOS Simulator,name=iPhone 13' \
    -sdk iphonesimulator \
    CODE_SIGNING_ALLOWED="NO" \
    test
  1. -disable-concurrent-destination-testing 禁用 Xcode 14 中的克隆模拟器并在同一模拟器中测试
  2. CODE_SIGNING_ALLOWED="NO" 禁用签名测试目标将更快

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接