美文网首页
# Xcode 12新建的xib文件,Xcode10.2.1 打

# Xcode 12新建的xib文件,Xcode10.2.1 打

作者: ted4kra | 来源:发表于2020-10-27 14:08 被阅读0次

    家里的电脑Xcode更新了最新版本,公司的电脑因为系统原因还停留在Xcode10.2.1

    周末在家加班,直接用自己的电脑改项目,新建xib文件等...到了公司发现编译不了

    Command CompileXIB failed with a nonzero exit code
    

    搜索无法编译的xib文件,打开直接崩溃,有的提示需要Xcode11及以上。

    打开两个版本的xib,对比之后发现有两处不同:

    1. 颜色的引用,这个就是导致崩溃的地方

      <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以后,新增了暗黑模式,同时系统内部增加了好多系统颜色,使用系统颜色可以自动适配暗黑模式。

      在xib内部,就体现在 把颜色放进了<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>系统颜色标签删除掉。

    2. 第二个就是提示Xcode11以上的问题,这个很简单,将里面的

      <capability name="System colors in document resources" minToolsVersion="11.0"/>
      

      删除掉就行了

    由于Xcode中xml没有格式化什么的,删除的时候自己小心点

    相关文章

      网友评论

          本文标题:# Xcode 12新建的xib文件,Xcode10.2.1 打

          本文链接:https://www.haomeiwen.com/subject/wxhxvktx.html