【发布时间】:2019-09-13 21:27:49
【问题描述】:
我正在努力更新项目以使用 iOS 13。
在我更新 carthage 后,该项目在最新 iOS 版本的设备上运行良好。
当我尝试在较旧的目标上运行时,我收到很多与“...仅在 iOS 13 中可用”相关的错误:层、一些视图控制器、自定义 uiview。
项目建议建议我添加 @available(iOS 13.0, *) 但没有任何结果。
我做了一些研究,并尝试在视图控制器之前添加:
#if canImport(SwiftUI) && DEBUG
import SwiftUI
@available(iOS 13.0, *)
myviewcontroller
#endif
只有在我尝试在旧目标(项目目标是 10.0)上运行时才会出现这个问题。
我过度尝试在方法名称上添加 @available(iOS 13.0, *) 但错误仍然存在。 我有 200 多个错误,如下图所示。
【问题讨论】:
-
不要使用
AnyObject作为sender的类。至少是一个 UIView 吗?一个 UIButton? -
sender.layer的具体情况确实看起来很奇怪,因为AnyObject在任何 iOS 版本上都不应该有layer(而且AnyObject几乎肯定是在这里使用的错误类型反正)。是不是有一些奇怪的扩展添加了layer,而您手动注释它可用于 iOS 13+?