IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?
Posted
技术标签:
【中文标题】IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?【英文标题】:IOS - How do I block open one app from another app programmatically? 【发布时间】:2018-08-03 15:25:56 【问题描述】:我正在尝试在我的应用程序的 UIWebView 本身中观看 youtube 视频。每当我点击任何网页 youtube 链接时,它都会自动重定向到 youtube 应用程序,但 youtube 的应用程序也安装在我的设备中。如何以编程方式阻止从另一个应用打开一个应用。
【问题讨论】:
你实现了网络视图委托方法吗?当 UIWebViewNavigationType 是 UIWebViewNavigationTypeLinkClicked 时,您可以返回 NO。 ***.com/a/37240425/5622566你试过了吗? 【参考方案1】:如果您使用的是UIWebview
在您的视图控制器中添加以下委托方法。并分配webview.delegate = self
extension YourVC:UIWebViewDelegate
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool
if navigationType == UIWebViewNavigationType.linkClicked
return false
return true
如果您使用的是WKWebview
,
在您的视图控制器中添加以下委托方法。并分配webView.navigationDelegate = self
extension YourVC:WKNavigationDelegate
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
if navigationAction.navigationType == .linkActivated
decisionHandler(.cancel);
return;
decisionHandler(.allow);
【讨论】:
以上是关于IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
在 iPhone 中以编程方式从另一个应用程序打开设置应用程序
iOS:以编程方式从另一个视图调用 onTapGesture