在Swift iOS中获取mailto链接的一部分

普拉巴卡卡西

我用包含mailto链接的网页打开了webview(mailto:[email protected]

url=mailto:[email protected]与常规网址不同,我能够获得,但无法获得零件。我想在撰写邮件时从mailto网址中提取电子邮件以进行预填充。在Swift iOS中,有没有一种优雅的方法可以从mailto url中提取[email protected]


func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
 let request: URLRequest = navigationAction.request

        if let url = request.url,
            url.scheme == "mailto" {
            decisionHandler(.cancel)
            let urlString = "scheme://myapp/open/compose?\(url.absoluteString.replacingOccurrences(of: ":", with: "="))
            UIApplication.shared.open(URL(string: urlString)!)
            return
        }
}
里奥·达布斯

您可以只获取网址路径组件:

let url = URL(string: "mailto:[email protected]")!
if url.scheme == "mailto", 
    let components = URLComponents(url: url, resolvingAgainstBaseURL: false) {
    let email = components.path
    print(email)  // "[email protected]\n"
}

您还可以如下扩展URL:

extension URL {
    var email: String? {
        return scheme == "mailto" ? URLComponents(url: self, resolvingAgainstBaseURL: false)?.path : nil
    }
}

if let email = url.email {
    print("email:", email)    // "email: [email protected]\n"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

屏幕截图-屏幕的一部分-Swift

iOS 8 Core Image通过Swift保存图像的一部分

如何在 Swift 中僅讀取文件的第一部分?

尝试在 Swift 3.0 中访问数组作为 JSON api 的一部分

在Swift中仅改组结构的一部分

检查数组是否包含Swift中字符串的一部分?

如何在Swift 4中将GMSMapView添加到视图的一部分

为什么我只能在TableView Swift中显示我的第一部分?

如何使用Swift选择图像的一部分,裁剪并保存?

Xcode:文件“ GameViewController.swift”是模块“ SceneKit”的一部分;忽略导入

文件viewController.swift是模块“ coreData”的一部分,忽略了导入

使用枚举作为 Swift 协议编程的一部分

Swift-变量在if语句中作为更新的一部分,但随后将还原

在Swift中提取二维数组的一部分

一个框架包含另一个框架或其中的一部分 SpriteKit swift iOS

iOS 15 Swift UI VStack 動畫不會將行作為動畫的一部分

Swift:如何在AVPlayerLayer的顶部添加图像/文本,使其成为视频的一部分?

jquery从div中获取一部分并生成一个链接

在PHP中获取日期的一部分

在Python中获取整数的一部分

在bash中获取列表的一部分

在C中获取整数的一部分

在Android中获取图片的一部分?

从txt中获取句子的一部分

从字典中获取一部分

使用 json 的一部分进行 swift 解码

用jQuery更改链接的一部分

用javascript更改链接的一部分

使用php提取链接的一部分?