【Safari】iOSアプリ内でWebページを表示できる「SafariServices」の使い方

タイトル通り、iOS でアプリ内ブラウザを使う方法です。
Webページを Safari などの外部ブラウザで開きたくない時に使用します。
使用したのは、「SafariServices」という framework です。

参考にさせていただいた記事はこちら。

SFSafariViewControllerをとりあえず使ってみた – Qiita
https://qiita.com/okuderap/items/3bd2fa0cb508cbd00ffd

 

実装は、まず下記をインポートします。

import SafariServices

で、Web ページを表示したいタイミングで下記を実行すればOKです。

let url = URL(string: "[表示したいWebページのURL]")
if let url = url {
    let safariViewController = SFSafariViewController(url: url)
    present(safariViewController, animated: false, completion: nil)
}

ページを表示させるだけならこれだけで実装できます。

 

また、今回は必要なかったので私は実装していませんが SFSafariViewControllerDelegate を使って、ページの読み込み完了時や、「完了」ボタンが押された時などのタイミングで、任意の処理を実行することもできます。
詳しくは下記のページを参考にしてください。

SFSafariViewControllerDelegate – SafariServices | Apple Developer Documentation
https://developer.apple.com/documentation/safariservices/sfsafariviewcontrollerdelegate

 

以上、iOS アプリで Web ページをアプリ内ブラウザで表示する方法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG