使用Shell腳本打包Framework報錯:error:accessing build database "xxx/Build/Intermediates.noindex/XCBuildDat...

報錯提示:

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

按照以上步驟就可以打開上面的窗口了。

如圖:

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容