ios – 颜色集和UIColorAttributeTraitStorage错误

前端之家收集整理的这篇文章主要介绍了ios – 颜色集和UIColorAttributeTraitStorage错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在努力制作一个用 Xcode 9编写的适用于iOS11 iOS9.0兼容的应用程序,它突然在iPhone 4S上因此错误而崩溃:
*** Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException',reason: 'Could not instantiate class named _UIColorAttributeTraitStorage'

同样的项目在iPhone 7上运行良好.

我改变了所有[UIColor colorNamed:],因为Xcode建议:

if (@available(iOS 11.0,*)) {
        statusBar.backgroundColor = [UIColor colorNamed:@"MyColor"];
    } else {
        statusBar.backgroundColor = kColorFromHex(0x509E2F);
    }

错误没有发生.我也没有在Apple文档或网络上的任何地方找到任何提及UIColorAttributeTraitStorage,除了一些日语(?)post.我从这篇文章中了解到,有人可能在iOS 10.3和Xcode 9中遇到了与Color Set相同的问题.

所以似乎问题出在包含颜色集的xcassets中.这是否意味着颜色集没有向后兼容性?如果我添加一个没有办法分发我的iOS低于11.0的应用程序?

P.S.:我没有任何iOS 10设备,所以我不知道自Xcode 9公开发布以来该问题是否还有10个问题.任何人都可以尝试一下吗?

解决方法

在Xcode 9 Interface Builder中使用新的Color集时遇到了同样的问题.如果您需要支持iOS 10或更早版本,请不要在Interface Builder中使用Color set中的任何颜色.

因此,请确保不要在Interface Builder中选择iPhoneSDK上方的任何颜色.

猜你在找的iOS相关文章