因為我們項目是一個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更新帶來的腳本編譯問題。(前提是用腳本編譯的,非腳本大機率不會出問題)
更多:https://stackoverflow.com/questions/51153525/xcode-10-unable-to-attach-db-error
解決問題的能力很關鍵~(iOS開發交流群:219926126)