SwiftUIでURLを指定してiOSのSafariブラウザを開く
if let url = URL(string: "https://mjeld.com/") { UIApplication.shared.open(url, options: [.universalLinksOnly: false], completionHandler: {completed in print(completed) }) }
上記のコードは、options, completionHandlerを付けていますが下のようなシンプルな方法でもOKです。
if let url = URL(string: "https://mjeld.com/") { UIApplication.shared.open(url) }
https://developer.apple.com/documentation/uikit/uiapplication/1648685-open
optionsで [.universalLinksOnly: true]を指定した場合、「URLが有効なユニバーサルリンクであり、そのURLを開くことができるインストール済みアプリがある場合にのみ、メソッドはURLを開きます。 このキーの値は、ブール値を含むNSNumberオブジェクトです。」ということらしいです。
completionHandler: {completed in print(completed) } 成功したら trueが返ってきます。
struct TURLOpen: View { var body: some View { Button("URL Open", action: { if let url = URL(string: "https://mjeld.com/") { UIApplication.shared.open(url, options: [.universalLinksOnly: false], completionHandler: {completed in print(completed) }) } }) } }