2016-08-06 15 views
3

iOS 8.0以上をターゲットとするアプリでは、iOS 9.0以上でSFSafariViewControllerを使用し、古いデバイスではフォールバックWebViewコントローラを使用したいと考えています。OSのバージョンに基づいてプロトコルに準拠させるにはどうすればよいですか?

私はフォールバックのWebViewコントローラ( extension FallBackViewController: SomeWebViewProtocol { ... })に直接それを行うことができますが、私はSFSafariViewControllerのためにそれをどのように行うのですか?これらのビューコントローラはプロトコルに protocol SomeWebViewProtocol

に準拠する必要が

拡張子は、ファイルレベル

答えて

1

で次の例でなければならないので、if #available(iOS 9, *) { ... }はオプションではありません十分です。

struct Foo 
{ 

} 

@available(iOS 9, *) 
protocol Bar 
{ 

} 

@available(iOS 9, *) 
extension Foo: Bar 
{ 

} 

は、単にあなたの宣言の先頭に@available(iOS <version>, *)を追加します。

関連する問題