【问题标题】:Why is my app crashing at launch because of an ibShadowedLargeTitleTextAttributes error?为什么我的应用程序在启动时由于 ibShadowedLargeTitleTextAttributes 错误而崩溃?
【发布时间】:2019-11-29 05:44:54
【问题描述】:

我正在为 iOS 构建一个应用程序,并将 Storyboard 用于 UI。我正在使用传统的UINavigationController 和它的类。标题是prefersLargeTitles,标题颜色是我创建的命名颜色。当我在 iOS 13 上运行该应用程序时,它运行得非常好,但是当我在 iOS 12 上运行它时,它在启动时崩溃并返回错误:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类与键 ibShadowedLargeTitleTextAttributes 的键值编码不兼容。”

ibShadowedLargeTitleTextAttributes我没有弄乱。

我尝试了this Stack Overflow question 中提供的一些解决方案,但是,它们都不起作用。即使我删除导航控制器并将标题设置为标准(不是大标题),问题仍然存在。

我希望该应用程序能够在所有操作系统上顺利运行,因为我没有真正更改 Storyboard 中的任何选项。不过,当我启动 Xcode 时,我确实遇到了一个弹出窗口:

标题:文档“Main.storyboard”存在内部不一致,已发现并已修复。

Body:这可能是由于 SCM 操作(例如合并)造成的。请保存文档以解决不一致问题。

详情:多个资源同名:POBlue ← 那是我命名颜色的名字

崩溃可能是由什么引起的?可能是因为命名的颜色还是我没有意识到的其他原因?

【问题讨论】:

  • 添加代码sn-ps,没有代码很难评估problelm
  • @GaneshKarewad 我已经通过 Storyboard 完成了所有工作。如果我在 Interface Builder 中提供属性检查器的屏幕截图可以吗?也许你可以在那里找到问题。

标签: swift uinavigationcontroller uinavigationbar uistoryboard


【解决方案1】:

我也遇到了同样的问题,就这样解决了……

在文本编辑器中打开 .storyboard 文件,您会在底部看到一个 <resources> 标签

<resources> 中,您可能会发现类似

<namedColor name="POBlue">
    <color red="xxx" green="yyy" blue="zzz" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>
<namedColor name="POBlue">
    <color red="xxx" green="yyy" blue="zzz" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</namedColor>

删除POBlue 条目之一并保存文件。

在 Xcode 中再次打开,错误应该消失了

【讨论】:

  • 我有一个类似的问题,即崩溃的 xcode 指示具有相同名称的多种颜色。我尝试此修复以删除主故事板中的重复颜色。它似乎修复了它,但崩溃又回来了,重复的颜色也是如此。我认为它可以返回到较早的文件,但它保留了我的其他更改?或者它再次创建了重复项。崩溃一定是由其他原因引起的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
  • 2015-09-20
  • 1970-01-01
  • 2019-10-18
相关资源
最近更新 更多