使用Xcode11 Beta后回退Xcode10遇故事板无法打开求助
解决Xcode 11 Beta转Xcode 10后故事板无法打开的问题
这种情况我之前踩过一模一样的坑,真的太闹心了!问题根源在于Xcode 11 Beta会悄悄给故事板文件写入一些Xcode 10完全不识别的底层配置,哪怕你删掉了可视化的UICollectionViewController和单元格,这些残留的配置还是会让Xcode 10报错。下面给你几个靠谱的解决办法:
方法一:手动清理故事板的源码残留
这是最直接的修复方式,只要找到并删除Xcode 11专属的配置节点就行:
- 右键你的故事板文件,选择「Open As」→「Source Code」
- 在源码里搜索关键词
collectionViewCellContentView,找到相关的节点(比如包含这个属性的<view>标签),直接删除整段代码 - 另外还要检查有没有
userDefinedRuntimeAttributes里的新增属性,或者带有Xcode 11标识的特殊配置,一并清理干净 - 保存源码后,切换回Xcode 10打开故事板,应该就能正常加载了
方法二:从版本控制/备份恢复故事板
如果你用了Git这类版本控制工具,直接回退到用Xcode 11 Beta修改之前的故事板版本,这是最稳妥的办法,完全避免手动改代码出错的风险。要是没有版本控制,看看Time Machine或者其他备份工具里有没有旧版本的故事板,替换掉当前的即可。
方法三:重新搭建故事板(终极方案)
要是上面两种办法都没效果,那就只能狠下心重新来了:
- 在Xcode 10里新建一个空白故事板
- 手动把原来故事板里的控件、布局约束、segue等元素重新拖入配置
- 虽然麻烦,但能彻底清除所有Xcode 11的兼容性残留
额外提醒
以后用Beta版Xcode开发的时候,记得单独备份项目或者用Git分支隔离开发,别直接在正式项目上操作,不然来回切换版本真的很折腾。另外苹果明确不接受Beta版Xcode构建的二进制文件,提交审核一定要用GM版或者正式版Xcode哦!
内容的提问来源于stack exchange,提问作者user3191334
相关产品推荐
相关产品推荐

