“命名颜色在iOS 11.0之前不起作用。”即使部署目标是> = iOS 11.0

时间:2019-11-28 18:50:28

标签: ios swift xcode

我一直收到Xcode编译器错误“ iOS 11.0之前的命名颜色不起作用。”即使Xcode中的部署目标是iOS 11.0

我尝试将部署目标更改为12.2,并清理了build文件夹,但错误仍然存​​在。

我要部署的项目设置为:

Targeted Device Family: iPhone

Debug: iPhone

Release: iPhone

iOS Deployment Target: iOS 11.0

Debug: iOS 11.0

Release: iOS 11.0

2 个答案:

答案 0 :(得分:2)

打开情节提要,打开右侧面板上的“文件检查器”,然后将属性“ Builds for”更改为正确的版本,也许是“ iOS 11及更高版本”

答案 1 :(得分:0)

这就是我为我的应用程序所做的工作,以支持iOS 13暗模式和运行ios <11.0的设备。假设您在暗和亮模式下的资产中都有一种颜色,称为“白色”

if #available(iOS 11.0, *) {
    YOUR_OBJECT.backgroundColor = UIColor(name: "White")

}else{
    YOUR_OBJECT.backgroundColor = UIColor.white
}

对于IOS 11以下的设备,它位于else部分,而YOUR_OBJECT将为白色。对于运行11 <= ios <13的设备,它将选择UIColor(name:“ White”)的亮模式。对于运行ios 13.0的设备,它还会选择UIColor(名称:“白色”),但要根据资产中定义的颜色的亮/暗模式版本