Swift UIApplication.shared.open仅适用于https
我试图用UIApplication.shared.open函数打开url,但我有点困惑,因为它不适用于,也适用于 第一个用例: 输入url: www.google.com 输出: 打开URL失败:错误域=NSOSStatusErrorDomain代码=-50“无效输入参数”用户信息={NSDebugDescription=无效输入参数,\u LSLine=234,\u LSFunction=-[\u LSDOpenClient openURL:选项:completionHandler:} 第二个用例: 输入: https://www.google.com 结果:效果很好 有人能给我解释一下如何从两个链接中显示google吗?我已经尝试通过上面的方法实现了,但还没有结果。文档说: UIKit支持多种常用方案,包括http、https、tel、, facetime和mailto方案 使用此方法打开指定的资源。如果指定的URL 方案由另一个应用程序处理,iOS启动该应用程序并通过 它的URL。(启动应用程序会将另一个应用程序带到前台。) 如果没有应用程序能够处理指定的方案,则完成 调用处理程序时,success参数设置为NO 确定是否安装了能够处理 在调用这个URL之前,先调用canOpenURL:方法Swift UIApplication.shared.open仅适用于https,swift,url,uiapplication,urlopen,Swift,Url,Uiapplication,Urlopen,我试图用UIApplication.shared.open函数打开url,但我有点困惑,因为它不适用于,也适用于 第一个用例: 输入url: www.google.com 输出: 打开URL失败:错误域=NSOSStatusErrorDomain代码=-50“无效输入参数”用户信息={NSDebugDescription=无效输入参数,\u LSLine=234,\u LSFunction=-[\u LSDOpenClient openURL:选项:completionHandler:} 第二个
这与SwiftUI无关,因为
UIApplication
是一种纯粹的UIKit
类型,您遇到的问题是UIApplication
,而不是SwiftUI。www.google.com
是一个没有方案的URL<代码>http://www.google.com是一个带有schemehttp
的URL<代码>https://www.google.com是一个URL,其方案为httpsopenURL()
要求其URL具有方案。
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)
}
}
}
}
}