应用程序符合xCode 11.7,但运行在iOS 14+;问题
因此,我犯了一个“错误”,将我的一台设备升级到iOS 14(目前为iOS 14.0.1),我发现现在我无法再通过xCode部署到该设备,因为我仍在使用xCode 11.7开发,而不是最新版本的xCode 12 我仍然能够使用iOS 14部署到设备上,因为使用了testflight,不管它是在最新的iOS上,但是我得到了一些非常奇怪的结果 这就是屏幕的外观,它在iOS 13.7设备上运行: 与设备在较新的iOS 14.0.1版本上时的结果相比: 还有谁目睹了这一切 两个问题:应用程序符合xCode 11.7,但运行在iOS 14+;问题,ios,xcode,ios13,ios14,Ios,Xcode,Ios13,Ios14,因此,我犯了一个“错误”,将我的一台设备升级到iOS 14(目前为iOS 14.0.1),我发现现在我无法再通过xCode部署到该设备,因为我仍在使用xCode 11.7开发,而不是最新版本的xCode 12 我仍然能够使用iOS 14部署到设备上,因为使用了testflight,不管它是在最新的iOS上,但是我得到了一些非常奇怪的结果 这就是屏幕的外观,它在iOS 13.7设备上运行: 与设备在较新的iOS 14.0.1版本上时的结果相比: 还有谁目睹了这一切 两个问题: 文本如何从黑色变
TextField("Cigar Name", text: $model.cigarName)
以下是自定义选择器的代码:
NavigationLink(destination: CountryPicker(cCode: $countryCode, cName: $countryName)) {
Text("Origin")
if countryCode != "" {
Spacer()
HStack() {
Image(uiImage: UIImage(named: "CountryPicker.bundle/Images/\(countryCode)")!)
.clipShape(Circle())
Text(countryName)
}
}
}
“默认”选择器的代码:
Picker(选择:$selectedCigarStrength,标签:Text(“strength”)){
ForEach(0..<雪茄强度.计数){
文本(self.cigarStrength[$0])
}
}
***最新更新***
因此,我得到了新的MacBook和d/l xCode 12,用于部署到带有iOS 14.0.1的iphone上,相比之下,屏幕截图是这样的:
正如你所看到的,它看起来很不一样!!!好消息是蓝色图像返回到工作表中渲染正确的图像。。坏消息是文本仍然是蓝色的!?我想开发人员必须严格指定文本颜色!?这很奇怪。。。如果没有声明颜色,我想它应该保持不变。默认为黑色。。。就像它在所有其他版本的xCode中一样
还要注意的是,表单不再延伸到屏幕边缘,日期选择器也确实发生了变化(我实际上很喜欢,最后他们在新操作系统中做了一些改进)。Me2但我没有解决方案。基于这个问题,我从xcode 12切换回xcode 11.7可能是系统更改的默认textColor属性,如果可能,请显示UILabel的textColor代码。对于我14.0.1来说,iOS 14似乎有严重的颜色问题 如上所述,现在看来,对于文本字段和类似文本,您需要显式地使用foregroundColor,并“强制”它们使用默认的黑色,就像以前的默认颜色一样。。。不知道他们为什么要改变
导航标题(WaveTraveButer)同样如此,如果从一个使用标题的标签移到另一个不需要的标签,它将不会因为某些原因而删除新视图中的导航栏标题,除非您用“代码”>“导航”标题(“”)< /代码>“欺骗”该系统。 不知道为什么苹果决定一切都需要显式还是隐式,就像以前的xcode和ios版本一样
另一个,我认为是我发现的最大问题,是对零聚结算子的评估 我有以下情况:Button(action: {
if (self.viewRouter.currentView != "menu") {
self.viewRouter.currentView = "menu"
}
}) {
Image("menu")
.renderingMode(.template) //**** REQUIRED!!!!
}
.foregroundColor(self.viewRouter.currentView == "menu" ? .blue : .gray)
这个简单的条件是,如果当前单击的视图是“菜单”,则按钮的颜色应为蓝色,如果不是,则显示不同的视图,则按钮的颜色应为灰色。。。最终的结果是,按钮是黑色的,无论我在选项卡栏中选择哪个按钮,它们都保持黑色,并且不会像在我运行iOS 13.6!的设备上那样改变颜色
***更新***
ios 14再次变得更加明确!!你需要添加.renderingMode(.template),才能在ios 14之前的时代达到同样的效果。为什么你不使用Xcode 12?@Rob老实说,我没有足够的内存下载和安装Xcode 12,这让苹果的内存需求大为降低。但它比这更大。。。这是苹果对其开发者的预期行为吗!?顺便说一句,我将得到一个新的macboook,所以我将从明天开始使用d/l xcode 12,但我会让你知道这是否解决了“不兼容”的问题,你为这些文本提供了什么颜色?@Rob我为文本字段和选择器添加了几乎“默认”的代码。@Rob I d/l xcode 12和文本字段的颜色仍然是蓝色。。看起来“默认”颜色是蓝色的,你需要为文本字段指定黑色。我为文本字段和选择器添加了相当多的“默认”代码。i d/l xCode 12和文本字段颜色仍然是蓝色。。“默认”颜色似乎是蓝色,您需要为文本字段指定黑色。遗憾的是,这不能作为烫发解决方案,因为您的用户将在手机上更新或开始使用iOS 14,特别是随着新iPhone12的推出。。。您迟早要采用xCode 12。
Button(action: {
if (self.viewRouter.currentView != "menu") {
self.viewRouter.currentView = "menu"
}
}) {
Image("menu")
.renderingMode(.template) //**** REQUIRED!!!!
}
.foregroundColor(self.viewRouter.currentView == "menu" ? .blue : .gray)