小智 8
我们还发现Xcode 3.2.5不会分发Device构建,而Simulator构建版本与distcc一起正确分发,尽管在Xcode Preferences - > Distributed Builds下设置了所有必要的选项.
但是,可以解决Xcode的限制并强制它也分发设备构建.看起来苹果的疏忽(错误!)他们默认没有启用Device分布式构建.
您需要采取的步骤如下:
增加Xcode用户默认PBXNumberOfParallelBuildSubtasks的值.这限制了最大并行构建任务数,默认为CPU核心数(有关详细信息,请参阅Apple自己的Xcode用户默认参考文档).我把它从2增加到16,如下:
write com.apple.Xcode PBXNumberOfParallelBuildSubtasks 16
或者Xcode 4.2
defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 16
请务必重新启动Xcode以使上述更改生效.
您需要设置自己的DISTCC_HOSTS环境变量值,如distcc手册页中所述.
为此,您需要在自己的脚本中设置DISTCC_HOSTS/Developer/usr/bin/distcc(然后调用原始/Developer/usr/bin/distcc二进制文件,您将其重命名为其他内容).请注意,Xcode调用/Developer/usr/bin/distcc每个编译单元并在每次调用之前设置DISTCC_HOSTS,因此您需要使用此伪装脚本来覆盖Xcode.
我自己的distcc脚本如下(我将原始distcc二进制文件重命名为distcc.orig):
#!/bin/sh
export DISTCC_HOSTS="--randomize your list of hosts, each followed by ',cpp,lzo'"
/Developer/usr/bin/distcc.orig "$@"
exit $?
Run Code Online (Sandbox Code Playgroud)在DISTCC_HOSTS中有很多选项可以调整,特别是关于使用你自己的localhost也可以进行一些编译而不是将所有东西都用完,但上面的内容至少应该让你开始.最适合您的方法显然取决于您自己的Mac硬件和网络性能.
根据我自己的经验,在相对较慢的网络上使用由几个四核Mac和我自己的双核Mac组成的分布式构建服务器设置将整个设备重建时间从大约15分钟缩短到大约5分钟.
| 归档时间: |
|
| 查看次数: |
1931 次 |
| 最近记录: |