iPhone(シミュレータ)でweb表示してみる

アプリケーションでウェブ表示をしてみます。

 

web表示では以下の3つの手段があるみたいです。

  • UIWebView
  • WKWebView
  • SFSafariViewController

 

UIWebViewは現状、完全な非推奨ではないみたいですがWKWebViewのドキュメントにも"使わないで"と書いており、WKWebVIew は iOS8.0から使用できるので、こちらで実装してみます。

WKWebView - WebKit | Apple Developer Documentation

 

storyboardにWebKit Viewを設置

f:id:mtntmyk:20171103200151p:plain

せっかくなので3つ設置してみました。

 

そしてテスト用にiOS 8.0 and Laterに変更

f:id:mtntmyk:20171103200519p:plain

 

するとエラーが!

f:id:mtntmyk:20171103200433p:plain

 

Safe Area Layout Guide before iOS 9.0

こちらの方は原因が簡単でした。

single viewで新規作成したstoryboardは下記の設定が入っているので、このチェックを外せばエラーは消えます。

f:id:mtntmyk:20171103200823p:plain

 

Use Safe Area Layout Guides って?

本題から外れますが気になったので調べました。

iPhoneXには画面の作りが独特で上の方に凹んだ部分がありますね。

f:id:mtntmyk:20171103201359p:plain

この部分はセーフエリアと呼ばれていて、自動的に調節してくれるのが Use Safe Area Layout Guidesです。

ただしこの設定はiOS9.0以上でないと利用できない設定なので、ビルド設定をiOS8.0に変更したのでエラーになりました。

 

class unavailable

利用できない・・・?

調べてみると WKWebView を Interface Builder で使用するには iOS11.0以降ではないと現状エラーになるとのこと。

WKWebView: build fail for iOS 10.2. XCode9 beta 6 | Apple Developer Forums

WKWebKitさえいればそれでいい。 // Speaker Deck

 

なので Interface Builder を利用せずにソースコードで書いてみます。

まずは Apple DeveloperDocument にあるサンプルソースを参考に書いてみます。

WKWebView - WebKit | Apple Developer Documentation 

 

シミュレータで動いた!

f:id:mtntmyk:20171104124745p:plain

 

簡単に動かせるサンプルがあるっていいですね!