【发布时间】:2017-06-09 06:40:21
【问题描述】:
随着 Xcode 9 Beta 和 iOS11 预览版的最新更新,SFSafariViewController init 方法发生了一些变化。
@available(iOS 11.0, *)
public init(url URL: URL, configuration: SFSafariViewController.Configuration)
@available(iOS, introduced: 9.0, deprecated: 11.0)
public convenience init(url URL: URL, entersReaderIfAvailable: Bool)
从 iOS11 开始支持一种新的 init 方法,而当前可用的 init 方法将被 iOS11 弃用。问题是当前方法没有暴露,也不能被覆盖。如果我们想使用测试版运行现有项目,这将强制使用新的init 方法。有没有人找到在新 Xcode Beta 中使用现有 init 方法的方法?
编辑:为澄清起见,这是我的子类中 init 方法的 sn-p
class BPSafariViewController: SFSafariViewController {
override init(url URL: URL, entersReaderIfAvailable: Bool) {
super.init(url: URL, entersReaderIfAvailable: entersReaderIfAvailable)
if #available(iOS 10.0, *) {
preferredControlTintColor = UIColor.BPUIColor()
} else {
view.tintColor = UIColor.BPUIColor()
}
}
}
【问题讨论】:
标签: ios xcode sfsafariviewcontroller xcode9-beta