【发布时间】:2021-03-26 12:01:30
【问题描述】:
我尝试使用 UIApplication.shared.open 函数打开 url,但我有点困惑,因为它不适用于 www.google.com 并且它适用于 https://www.google.com。
struct GetIsoCode: View {
@State var titile = "www.google.com"
var body: some View {
Text(titile)
.onTapGesture {
let urlS = URL(string:titile)
if let url = urlS {
UIApplication.shared.open(url) { (response) in
print(response)
}
}
}
}
}
第一个用例:
输入网址:
www.google.com
输出:
无法打开 URL www.google.com: 错误域=NSOSStatusErrorDomain Code=-50 "输入参数无效" UserInfo={NSDebugDescription=输入参数无效, _LSLine=234, _LSFunction=-[_LSDOpenClient openURL:options:completionHandler:]}
第二个用例:
输入:
https://www.google.com
结果:一切正常。
有人可以向我解释一下如何从两个链接中显示谷歌,我已经尝试按照上面的方式实现,但还没有结果。
【问题讨论】:
-
这与 SwiftUI 无关,因为
UIApplication是纯UIKit类型,而您遇到的问题是UIApplication,而不是 SwiftUI。 -
www.google.com是一个没有方案的 URL。http://www.google.com是一个采用http方案的 URL。https://www.google.com是一个采用https方案的 URL。openURL()要求其 URL 具有方案。
标签: swift url uiapplication urlopen