SwiftUI使用openURL打开外链
SwiftUI使用openURL打开外链

SwiftUI使用openURL打开外链

在 SwiftUI 中,可以使用 openURL 来打开一个指定的 URL,例如跳转到一个网站、拨打电话或打开系统应用。

openURL 是通过环境对象 OpenURLAction 实现的:

@Environment(\.openURL) var openURL

在视图中,通过 openURL(url) 打开URL。

if let url = URL(string: "https://www.fangjunyu.com") {
    openURL(url)
}

基本用法

import SwiftUI

struct ContentView: View {
    @Environment(\.openURL) var openURL

    var body: some View {
        Button("Open Website") {
            if let url = URL(string: "https://www.fangjunyu.com") {
                openURL(url)
            }
        }
        .padding()
    }
}

实际应用中,通过openURL跳转的效果:

打开特定类型的链接

1、打开电话

if let phoneURL = URL(string: "tel://1234567890") {
    openURL(phoneURL)
}

2、打开短信

if let smsURL = URL(string: "sms:1234567890") {
    openURL(smsURL)
}

3、打开邮件

if let mailURL = URL(string: "mailto:fangjunyu.com@gmail.com") {
    openURL(mailURL)
}

4、打开地图位置

if let mapURL = URL(string: "maps://?q=Rizhao") {
    openURL(mapURL)
}

注意事项

1、确保传递给 openURL 的 URL 是有效的,避免崩溃。

2、某些 URL Scheme(例如 tel: 和 sms:)可能在模拟器上无效,但会在真机上正常运行。

3、对于复杂的深度链接,建议解析 URL 并根据参数进行操作。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注