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

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

sponsored link

UIApplication クラスを使って Safari に頼む

 
方法としてはこの2つがあります。

  1. Safariに飛ばす
  2. 自前でブラウザーを作る

UIApplication クラスを使って Safari に頼む

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

UIApplicationクラスを使います

[[UIApplication sharedApplication] openURL:url];

ViewController.m

コードはこれだけです。

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

UIWebView クラスを使う

こちらも UIWebView をつかえば簡単にブラウザはできます。

UIWebViewDelegate をセットします。
ViewController.h

ViewController.m

これで、ビルドして実行すれば、指定のURLにとびます。
インジケーターを使うところは、アプリを申請するなら必須でしょう。

コードで全て書いているので、「戻る」や「リロード」ボタンを入れたいのであれば
Storyboard との連携が素直なアプローチ

Storyboard を使ったブラウザ

ナビゲーションバーとバーボタンで
「戻る」や「リロード」を入れたいと思います。
Web View を画面いっぱいにのせます。

web_browser_1
Navigation bar を Web View の上に配置する

web_browser_2

その Navigation Bar に Bar Button を2つ左右に置く

web_browser_3

Bar Button の右側を選択して
インスペクターの Attributes にある Identifier を
Custom から Refresh に設定する
同様に、もう一つは Rewind とする

web_browser_4

web_browser_5

このような配置となります。

コードを多少修正が必要です

ViewController.h

ViewController.m

ビルドして実行すると

IMG_0062

ページのトップへ戻る
 
sponsored link

シェアする

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

フォローする