タイトル通り、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 ページをアプリ内ブラウザで表示する方法でした。
ご参考になれば幸いです。