1. 程式人生 > >Xcode10.x適配的部分問題

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

  

應對:

然後改成如圖:

 

其次修改:

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

 

並且新增 -UseModernBuildSystem=NO :

 

若還報錯:error: Multiple commands produce

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

 

 

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

 

 以上,可以解決Xcode10.x升級帶來的指令碼編譯問題。(前提是用指令碼編譯的,非指令碼大概率不會出問題)