升级到 Xcode 11.x 后出现 UISegmentedControl 错误
Posted
技术标签:
【中文标题】升级到 Xcode 11.x 后出现 UISegmentedControl 错误【英文标题】:UISegmentedControl error after upgrading to Xcode 11.x 【发布时间】:2019-10-17 05:51:29 【问题描述】:安装Xcode 11后,在ios 12移动设备上测试时,一直出现以下错误。 它总是使应用程序崩溃。
*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因:'[
setValue:forUndefinedKey:]: 此类与键 selectedSegmentTintColor 的键值编码不兼容。'
在 iOS 13 上,它不会崩溃。
【问题讨论】:
【参考方案1】:这个错误是由于在 xib 文件中设置 Selected Tint
颜色引起的。当它设置为预定义的颜色(在Colors.xcassets
)时,会导致运行时出现上述错误并导致应用崩溃。
要处理可行的色调,必须以编程方式完成。
if #available(iOS 13.0, *)
unitSegment.selectedSegmentTintColor = UIColor(named: "Primary")!
else
unitSegment.tintColor = UIColor(named: "Primary")!
截至目前,崩溃错误出现在 Xcode 11.0 和 Xcode 11.1 上。 Apple 应该在 Xcode 和 Swift 5.1 上默认处理这个问题,或者至少在选择 xib 文件的预定义颜色时提示错误,尤其是当我的目标设置为 12.0 时。
【讨论】:
以上是关于升级到 Xcode 11.x 后出现 UISegmentedControl 错误的主要内容,如果未能解决你的问题,请参考以下文章
将Xcode 8升级到XCode 9后出现AvCapture错误
xcodebuild:使用升级到 XCode 8.1 后出现“需要代码签名”错误
使用 setDataSource 升级到 Xcode 4.6 后出现编译器错误