Xcode 10:无法附加数据库错误

更新到Xcode 10时,iOS静态库目标无法构建。 我如何构建它的方式如下:

xcodebuild -target TargetName -configuration Release clean build 

使用Xcode 9,一切都运行顺利,但是当Xcode 10用于构建时,我收到了以下错误(在清理运行顺利之后):

注意:使用新的构建系统

注意:规划构建

注意:构造构建描述构建系统信息错误:无法附加DB:错误:访问构建数据库“/Users/uerceg/random-path/build/XCBuildData/build.db”:数据库已锁定可能有两个并发构建正在运行相同的文件系统位置。

**建筑失败**

**建筑失败**

以下构建命令失败:PhaseScriptExecution MultiPlatform \ Build /Users/uerceg/random-path/build/Library.build/Release-iphoneos/LibraryTarget.build/Script-9DE7C9021AE68FA5001556E5.sh(1 failure)

这可能是无关的,但我注意到新的Xcode 10构建系统标记重复Copy Bundle Resource Info.plist文件作为错误,所以我确实确保没有重复的条目,但可能这个错误与此事实无关。

有谁知道什么可能是错的?

好吧,好像我设法解决了它。 我在Build Phases中有/bin/sh脚本试图构建胖静态库。 在脚本中,我有OBJROOT路径设置如下:

 OBJROOT="${OBJROOT}" 

看起来像Xcode 10和新的构建系统改变了一些路径,这条线是问题的根源。 它需要调整为:

 OBJROOT="${OBJROOT}/DependentBuilds" 

之后, xcodebuild设法构建此目标,而不会出现Xcode 10中引入的新构建系统的问题。

我自己没有得到这个解决方案,非常感谢Matt Gallagher和他在这里的post: https : //github.com/mattgallagher/CwlSignal/issues/24#issuecomment-396931001