`UIApplication.shared.canOpenURL(:)` 方法在 iOS 11.4(仅限 iPad 设备)上不起作用?
Posted
技术标签:
【中文标题】`UIApplication.shared.canOpenURL(:)` 方法在 iOS 11.4(仅限 iPad 设备)上不起作用?【英文标题】:`UIApplication.shared.canOpenURL(:)` method not working on iOS 11.4 (iPad Devices Only)? 【发布时间】:2018-07-07 09:15:43 【问题描述】:为什么UIApplication.shared.canOpenURL(:)
方法在 ios 11.4 - iPad 设备上不起作用?虽然它在 iOS 11 和 12.0 [iPhone 设备] 上运行良好!
注意:
用 Swift 4.2 编写的代码 传递的网址有效 我用https
【问题讨论】:
它们在其他模拟器和设备上也能正常工作? App 被苹果拒绝并通过删除此方法解决了问题!UIApplication.shared.canOpenURL(:)
在 iOS 11 和 12.0 [iPhone 设备] 上运行良好
【参考方案1】:
好的,兄弟,我在使用 facebook 打开共享链接时遇到了同样的问题,当我将 shareDialog.mode 更改为 .automatic
时我解决了这个问题所以你可以试试这个方法并告诉我它是否有效?
let url = URL(string: "www.google.com")
let content = LinkShareContent(url: url, quote: "Google")
let shareDialog = ShareDialog(content: content)
shareDialog.mode = .automatic
shareDialog.presentingViewController = self
shareDialog.failsOnInvalidData = true
shareDialog.completion = result in
do
try shareDialog.show()
catch
print("Error")
正如我们的讨论,你需要在你的应用中打开一个网页视图
所以你可以添加这个
import UIKit
class WebVC: UIViewController
@IBOutlet weak var webView: UIWebView!
var url = ""
var firstLoad = true
override func viewDidLoad()
super.viewDidLoad()
self.setup()
func setup()
self.webView.backgroundColor = Color.white.value
self.webView.delegate = self
var urlRequest = URLRequest(url: URL(string: url)!)
urlRequest.cachePolicy = .reloadIgnoringCacheData
self.webView.loadRequest(urlRequest)
在你的控制器中,你可以使用
func openWebView()
let webVC = WebVC()
webVC.url = "www.google.com"
webVC.title = "Google"
self.navigationController?.pushViewController(webVC, animated: true)
【讨论】:
谢谢,但我不使用UIApplication.shared.canOpenURL(:) method
分享!我用它在 webview 中打开一个 url
好的,兄弟,我可以和你分享一个 WebVC,它可以和我一起使用你可以用另一个替换它
url验证阶段的问题不是在webview中打开url以上是关于`UIApplication.shared.canOpenURL(:)` 方法在 iOS 11.4(仅限 iPad 设备)上不起作用?的主要内容,如果未能解决你的问题,请参考以下文章