Storyboard合并文件版本冲突

来源:互联网 发布:php mysql缓存 编辑:程序博客网 时间:2024/05/16 05:40

解决思路

可以想到,应该是合并造成Storyboard文件版本冲突,一种简单的方式可以拿最新的版本直接覆盖出问题的Storyboard文件。但是这种办法简单粗暴,没有深入探究该Storyboard文件问题到底出在哪里。联想到代码发生版本冲突时,头文件或实现文件中,会标记出冲突的代码,那么出问题的xib文件对应的源码中同样也应该存在冲突的代码。带着这样的想法,我打开了该Storyboard文件的源码。
选中xib文件->右键->Open As->Source Code,打开Storyboard文件对应的xml文档
//修改前
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<<<<<<< .mine
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="EMu-v1-EaA">
=======
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9060" systemVersion="15B42" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
>>>>>>> .r135
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9051"/>
        <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
    </dependencies>
// 修改后
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="EMu-v1-EaA">
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/>
        <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
    </dependencies>
// 保存 搞定了Storyboard 冲突
可以清楚地看到,冲突的地方已经被标记出来。原因是toolsVersion和systemVersion版本冲突,是最近升级系统和Xcode引起的。去掉working的部分,重新运行就OK了!!
0 0
原创粉丝点击