升级到 Xcode 12 后的情节提要错误
Posted
技术标签:
【中文标题】升级到 Xcode 12 后的情节提要错误【英文标题】:Storyboard Error after Upgrading to Xcode 12 【发布时间】:2020-10-01 13:37:16 【问题描述】:自从我切换到 Xcode 12 后,我的情节提要出现了问题。当我打开情节提要文件时,如果显示以下错误:
“Main.storyboard”文档有 97 个问题被发现并修复。 这可能是由于诸如合并之类的 SCM 操作所致。请保存文档以解决问题。
我将文件作为源代码打开,发现<resources>
标记内确实有很多重复项。这些重复项如下所示:
<systemColor name="darkTextColor">
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
我开始删除那些重复项,因此只剩下一个条目。然后我在 Interface Builder 中再次打开了该文件。现在我没有显示上面提到的错误,但它仍然说:“发生内部错误。编辑功能可能受到限制。”
现在如果我关闭文件并再次打开它,Xcode 会再次自动添加上述重复项,并且错误““Main.storyboard”文档有 97 个问题已被发现并修复。 " 再次显示。
如果我继续删除重复项,此过程会一次又一次地重复......
更新
我联系了 Apple 开发人员技术支持,并获得了将所有出现的 groupTableViewBackgroundColor
替换为 systemGroupedBackgroundColor
的建议。
我已经这样做了,现在上面提到的错误不再出现,但我的故事板中的编辑功能仍然受到限制,我在视图控制器周围看到了那些蓝色框。我希望未来的 Xcode 版本能解决这个问题。
【问题讨论】:
【参考方案1】:关于“发生内部错误。编辑功能可能受到限制”,我遇到了同样的问题。 Xcode中的消息,发现它与UISplitViewController
我的故事板有关。如果您的故事板使用UISplitViewController
,请在 Xcode 中选择它并在 Attributes Inspector 中验证“Style”属性的值。对我来说,它设置为“未指定(不鼓励)”。在我将其更改为“双列”,保存情节提要,关闭情节提要(您可能只想关闭整个 Xcode 项目)并再次打开情节提要/项目后,一切正常。
(感谢您关于将 groupTableViewBackgroundColor
替换为 systemGroupedBackgroundColor
的更新——我也必须这样做。)
【讨论】:
【参考方案2】:我发现了同样的问题。可能是 Xcode 的问题,下个版本会解决。反正就是很烦人,但是没有任何效果。
更新:问题似乎只影响两种属性:darkTextColor 和 GroupTableColour(Secondary、Tertiary...)。 使用其他属性(如“默认标签颜色”)更改它们可以解决问题。奇怪!
编辑: 用 Xcode 12.3 解决
【讨论】:
我也有和你一样的问题,但是 viewFlipsideBackgroundColor 我也有同样的问题。我能够找到由 ViewController 布局调用的 lightTextColor 的几个实例。这减少了问题的数量。查看所有 TableView 后,我无法找到调用 groupTableViewBackgound 颜色的位置。我还有 15 个问题(颜色)。就我而言,xcode 在进出故事板图形时经常崩溃,并且通常需要至少 3 或 4 次重新启动才能再次加载应用程序。很烦人!找到颜色或避免崩溃的任何帮助都会有所帮助。以上是关于升级到 Xcode 12 后的情节提要错误的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 6.3 错误 - 无法在情节提要中创建 IBOutlet 引用或使用自定义 UIViewController
使用 Swift 3 Xcode 8 加载时缺少自定义 XIB