初めに
Swiftのコードからリンクを外部ブラウザで開きたいとき。
これまではUIApplication.shared.open~としていたのですが、iOS14からはとっても簡単になったよう。
UIApplicationを使う方は以下など参考に。
https://weblabo.oscasierra.net/swift-shared-openurl-safari/
Linkの使い方
ごく一般的な使用方法
Link("googleを開く", destination: URL(string: "https://google.com")!)
テキストを装飾したい場合
Link("googleを開く",
      destination: URL(string: "https://google.com")!)
    .font(.title)
    .foregroundColor(.blue)
コードから利用したい場合
例えばボタンのアクション内に仕込みたい場合や、alertのアクションとして仕込みたいときなど。
struct anyView: View {
    @Environment(\.openURL) var openURL
    var body: some View {
        Button("Visit Apple") {
            openURL(URL(string: "https://www.apple.com")!)
        }
    }
}
struct anyView: View {
    @Environment(\.openURL) var openURL
    @state private var someAlert = false
    var body: some View {
        Button(action: {
          self.someAlert = true
        }) {
          Text("alertの結果によって使う")
        }
        .alert(isPresented: $someAlert){
          title: Text("はいを押すと外部リンク飛ぶ"),
          primaryButton: .default(Text("はい"), action: {
            openURL(URL(string: "https://google.com")!)
          }),
          secondaryButton: .destructive(Text("いいえ"))
        }
    }
}
以上です