Xcode10.x適配的部分問題
阿新 • • 發佈:2018-12-24
因為我們專案是一個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升級帶來的指令碼編譯問題。(前提是用指令碼編譯的,非指令碼大概率不會出問題)