因?yàn)槲覀冺?xiàng)目是一個(gè)Workspace,由若干個(gè)庫(kù)組成(組件化比較碎),又涉及到海外和國(guó)內(nèi)(存在很多差異性),整個(gè)項(xiàng)目的編譯是由每個(gè)庫(kù)的腳本(每個(gè)庫(kù)生成會(huì)支持32位和64位,每次編譯前會(huì)清除歷史緩存),然后由一個(gè)總的Release腳本編譯生成出目標(biāo)文件。
廢話這么多主要是表明升級(jí)Xcode10.x以后會(huì)遇到各種奇葩問(wèn)題。路徑問(wèn)題,新編譯方式多線程問(wèn)題等。
問(wèn)題列舉:
error: Multiple commands produce
Command PhaseScriptExecution failed with a nonzero exit code
error: unable to attach DB: error: accessing build database
應(yīng)對(duì):

然后改成如圖:

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

并且添加-UseModernBuildSystem=NO:

若還報(bào)錯(cuò):error: Multiple commands produce
那還需要對(duì)應(yīng)的庫(kù)工程修改:


當(dāng)然以上修改的不止一處,因?yàn)槲覀兘M件比較多,所以修改了10多處的腳本和工程配置。
以上,可以解決Xcode10.x升級(jí)帶來(lái)的腳本編譯問(wèn)題。(前提是用腳本編譯的,非腳本大概率不會(huì)出問(wèn)題)