Xcode10.x工程适配的部分问题

因为我们项目是一个Workspace,由若干个库组成(组件化比较碎),又涉及到海外和国内(存在很多差异性),整个项目的编译是由每个库的脚本(每个库生成会支持32位和64位,每次编译前会清除历史缓存),然后由一个总的Release脚本编译生成出目标文件。

废话这么多主要是表明升级Xcode10.x以后会遇到各种奇葩问题。路径问题,新编译方式多线程问题等。

问题列举:

error: Multiple commands produce

Command PhaseScriptExecution failed with a nonzero exit code

error: unable to attach DB: error: accessing build database

应对:

Xcode10.x工程适配的部分问题_第1张图片
image

然后改成如图:

Xcode10.x工程适配的部分问题_第2张图片
image

其次修改:

/bin/shOBJROOT="${OBJROOT}" 改为:OBJROOT="${OBJROOT}/DependentBuilds"

Xcode10.x工程适配的部分问题_第3张图片
image

并且添加-UseModernBuildSystem=NO

Xcode10.x工程适配的部分问题_第4张图片
image

若还报错:error: Multiple commands produce

那还需要对应的库工程修改:

Xcode10.x工程适配的部分问题_第5张图片
image
Xcode10.x工程适配的部分问题_第6张图片
image

当然以上修改的不止一处,因为我们组件比较多,所以修改了10多处的脚本和工程配置。

以上,可以解决Xcode10.x升级带来的脚本编译问题。(前提是用脚本编译的,非脚本大概率不会出问题)

你可能感兴趣的:(Xcode10.x工程适配的部分问题)