【SwiftUI】「Link」で外部リンクを開く【iOS14】

今回は外部ブラウザでリンクを表示する方法を紹介します。

なお、Xcode12 及び iOS14 以上でないとビルドできませんのでご注意ください。

「Link」で外部リンクを開く

UIKit では以下のように呼び出していました。

UIApplication.shared.open(URL(string: "https://google.co.jp")!, options: [:], completionHandler: nil)

SwiftUI では Link という一つの View 扱いになっています。同じく Link と名のつくNavigationLink とよく似ています。

イニシャライザー

Link(title: StringProtocol, destination: URL)

使用例

struct ContentView: View {
    var body: some View {
        if let url = URL(string: "https://www.apple.com/") {
            Link("アップルのホームページが開きます", destination: url)
        }
    }
}

引数のdestination: URL は nil 許容では無いので if let でラップしておくと良いでしょう。

以上