天天看點

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适配的部分問題

然後改成如圖:

Xcode10.x适配的部分問題

其次修改:

/bin/sh 中  OBJROOT="${OBJROOT}"  改為: OBJROOT="${OBJROOT}/DependentBuilds"

Xcode10.x适配的部分問題

并且添加 -UseModernBuildSystem=NO :

Xcode10.x适配的部分問題

若還報錯:error: Multiple commands produce

那還需要對應的庫工程修改:

Xcode10.x适配的部分問題
Xcode10.x适配的部分問題

 當然以上修改的不止一處,因為我們元件比較多,是以修改了10多處的腳本和工程配置。

 以上,可以解決Xcode10.x更新帶來的腳本編譯問題。(前提是用腳本編譯的,非腳本大機率不會出問題)

 更多:https://stackoverflow.com/questions/51153525/xcode-10-unable-to-attach-db-error

解決問題的能力很關鍵~(iOS開發交流群:219926126)