報錯提示:
error:accessing build database "xxx/Build/Intermediates.noindex/XCBuildData/build.db":disk I/O error
分析驗證:
將framework和shell腳本單獨編譯,都可以編譯成功,但是在腳本中編譯Framework才會出現(xiàn)這個錯誤。
所以猜測是在編譯腳本的時候同時編譯了Framework,但是編譯生成的臨時數(shù)據(jù)是同一份,所以有可能是同時編譯兩個Target時同時訪問了同一個build.db數(shù)據(jù)庫,造成了數(shù)據(jù)庫鎖死,出現(xiàn)訪問數(shù)據(jù)庫I/O錯誤。
原因:
在Xcode10以后,xcode默認使用了新的編譯系統(tǒng)。

在對Framework打包的時候因為用到了三方庫,所以需要對workspase進行編譯,但是新的編譯系統(tǒng)配置是針對workspace所有Target生效。所以在編譯腳本的時候腳本target和Framework的Target同時訪問了build.db出現(xiàn)報錯。
解決方案:
將編譯系統(tǒng)修改為老的編譯系統(tǒng),就不再出現(xiàn)這個錯誤了。

修改步驟:
Xcode工具菜單->File->Workspace Settings
按照以上步驟就可以打開上面的窗口了。
如圖:
