在针对iOS 8.0及更高版本的应用中,我想在iOS 9.0及更高版本上使用SFSafariViewController,在旧设备上使用后备WebView控制器。
我需要那些View控制器符合协议protocol SomeWebViewProtocol
我可以直接为后备WebView控制器(extension FallBackViewController: SomeWebViewProtocol { ... }
)执行此操作,但是如何为SFSafariViewController执行此操作? if #available(iOS 9, *) { ... }
不是一个选项,因为扩展名必须是文件级
答案 0 :(得分:1)
以下示例应该足够了:
struct Foo
{
}
@available(iOS 9, *)
protocol Bar
{
}
@available(iOS 9, *)
extension Foo: Bar
{
}
只需将@available(iOS <version>, *)
添加到声明的顶部即可。