UIWebView 未打开已安装的应用程序但在 safari 中打开
Posted
技术标签:
【中文标题】UIWebView 未打开已安装的应用程序但在 safari 中打开【英文标题】:UIWebView not opening the Installed Application but opens in safari 【发布时间】:2017-09-26 07:57:10 【问题描述】:我正在使用 UIWebview,并且我已经加载了一个 URL,该 URL 显示了打开已安装在我的 iPhone 上的本机应用程序的警报。单击警报时,应用程序不会在 UIWebview 中打开,但是当我在 safari 中测试相同的 URL 时,它可以完美运行。请让我知道我是否遗漏了任何步骤。
还有一个更新上述场景在ios 8.0版本中完美运行,但在上述8.0版本中却没有。我已经尝试过使用 UIWebView 和 WKWebView
提前致谢。
override func viewDidLoad()
super.viewDidLoad()
let webV = UIWebView()
webV.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
webV.loadRequest(NSURLRequest(url: NSURL(string: "someURL")! as URL) as URLRequest)
webV.delegate = self
self.view.addSubview(webV)
【问题讨论】:
始终显示您尝试过的代码 【参考方案1】:在 webView 中加载 url 的简单方法。
@IBOutlet weak var webview: UIWebView!
override func viewDidLoad()
super.viewDidLoad()
webview.loadRequest(URLRequest(url: URL(string:"https://www.google.com")!))
【讨论】:
为什么不试试webkit
@Anbu.Karthik 我已经像上面一样加载了 URL,但是在加载 URL 后,Webview 中出现了一个弹出窗口,通过单击警报没有操作来打开 Native 应用程序。但是当我在 safari 中加载相同的 URL 时,它可以完美地工作。
@Anbu.Karthik 问题是在 UIWebView 还是在加载的透视 URL 中。【参考方案2】:
看起来 UIWebView 没有将 URL 转发到系统,因此它可以处理其他应用程序的启动。
如果您的应用程序的要求允许将该 webView 替换为另一个视图元素,例如 UIButton,我会鼓励在单击 UIButton 时使用 UIApplication 打开 URL:
斯威夫特 3:
@IBAction func didClickButton(sender: Any)
UIApplication.shared.openURL(URL(string: "<your_url>")!)
希望对你有帮助!
【讨论】:
@Lujan 点击事件在 Webview 中处理以上是关于UIWebView 未打开已安装的应用程序但在 safari 中打开的主要内容,如果未能解决你的问题,请参考以下文章
Syncfusion 控件未在 iOS 本机 UIWebView 上加载
当 UIWebView 打开 PDF 时 webViewDidFinishLoad 未触发
. net framework 4.7安装未成功,提示已处理证书链,但是在不受信任程序信任的根证书?
组件已安装但模板标签未在生产环境中呈现(但在开发中呈现): Nuxtjs Vuejs Vuetifyjs Rollupjs