家里的電腦Xcode更新了最新版本思恐,公司的電腦因為系統(tǒng)原因還停留在Xcode10.2.1
周末在家加班,直接用自己的電腦改項目志于,新建xib文件等...到了公司發(fā)現(xiàn)編譯不了
Command CompileXIB failed with a nonzero exit code
搜索無法編譯的xib文件,打開直接崩潰,有的提示需要Xcode11及以上摸柄。
打開兩個版本的xib,對比之后發(fā)現(xiàn)有兩處不同:
-
顏色的引用既忆,這個就是導致崩潰的地方
<resources> <image name="dropdownFlag.png" width="12" height="6.5"/> <image name="select" width="21" height="21"/> <image name="unselect" width="21" height="21"/> <systemColor name="darkTextColor"> <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> <systemColor name="darkTextColor"> <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> <systemColor name="darkTextColor"> <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources>
Xcode11以后驱负,新增了暗黑模式,同時系統(tǒng)內部增加了好多系統(tǒng)顏色患雇,使用系統(tǒng)顏色可以自動適配暗黑模式跃脊。
在xib內部,就體現(xiàn)在 把顏色放進了<resource></resource>里面苛吱,文件中引用從
<state key="normal" title="--請選擇--"> <color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state>
變成了
<state key="normal" title="--請選擇--"> <color key="titleColor" systemColor="darkTextColor"/> </state>
所以解決方案很顯然是將引用的地方替換掉酪术,同時將
<resource/>
里面的<systemColor name="xxx">..</systemColor>
系統(tǒng)顏色標簽刪除掉。 -
第二個就是提示Xcode11以上的問題翠储,這個很簡單绘雁,將里面的
<capability name="System colors in document resources" minToolsVersion="11.0"/>
刪除掉就行了
由于Xcode中xml沒有格式化什么的,刪除的時候自己小心點