[iPhone] Web ブラウザを WKWebView 等で作る(Objective-C)

アプリ申請において、ブラウザは注意が必要なので調べてみました。WKWebViewで適当に作るとRejectになり易いようです。
尚、Swiftのケースはこちらです
 
UIWebView

Objective-C
Xcode 9.4

Web View

 
方法としてはSafariにURLを渡して代わりにWebを表示してもらう方法と、iOS8まではUIWebViewを使う方法ががありました。ただUIWebViewにはクラッシュが多いということとセキュリティ上の問題があります。そのためiOS8以降は WKWebView を使うことが推奨されています。
逆にいうとそれ以前はUIWebViewが残るというわけでしょうか。

 

UIApplication で Safari に飛ばす

 
Safari に代行してもらうという安易ですが安全かもしれない方法です。
アプリからちょっとWeb アクセスしたいだけなのに、「戻る」だの、「ダウンロード中」の表示だの考えなくていいので簡単です。
その辺適当にやると Apple から Regect くらうそうです。

UIApplicationのsharedApplicationを使います。
openURL:メソッドが iOS10から非推奨になったようで代わりにこれを使えとワーニングが出るようになりました。
openURL:options:completionHandler:

ViewController.m

 
コードはこれだけです。
 
ただし、Safari で Web に移動した後は、自分のアプリにはもどれません。

 

UIWebView クラスを使う

 
非推奨なクラスですが簡単に UIWebView をみておきましょう。
 
UIWebViewDelegate をセットします。
ViewController.h

 
ViewController.m

 
これで、ビルドして実行すれば、指定のURLにとびます。

 

WKWebView

 
簡単にWebViewを表示させるだけをStoryboardなしで作ってみます。
ViewController.h

 
ViewController.m

 
これにリロードやバックページなどのナビゲーションを入れるためには
WKNavigationDelegate、navigationDelegateの設定が必要になります。
 
またiPhoneXは全画面表示では困ることがありますのでSafeAreaを考えて設計する必要が出てきます。
 
 

一人でアプリ開発の限界を感じたら

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンライン・スクールがいいと思います。


TECH ACADEMY
自宅にいながら1時間でプログラミング基礎を習得

こういうものではアプリ作れないと言う意見もありますが、それは結局本人のやる気があるかないかです。やる気があっても独学では突破しにくいところは教えてもらうのが一番早い。


侍エンジニア塾
侍エンジニア塾 無料体験レッスン



とても簡単なことなのに本やネットの画像だけでは分かりにくいことはあります。実際に質問してピンポイントで教えてもらうと、なんだそんなこと、と言うのがけっこうあります。


CodeCamp
~約20,000名の受講生と300社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp




直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。


誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:


シェアする

  • このエントリーをはてなブックマークに追加

フォローする