#### 情况介绍 现在有一个iOS Swift语言开发的app,主要功能是在app启动后加载一个远程网页,所有业务功能都在该网页内操作,app只是一个壳子。 #### 第三方库 我使用[https://github.com/ashleymills/Reachability.swift.git](https://link.segmentfault.com/?enc=QHeX4lw%2FbP5FPOpbB1DGDw%3D%3D.3hkv12ew9HkmFcpP3wwCCK7EP3ZLxxkJjzYUwFVVjRlyg01yKF2p79OE4HOJzwrSokIkbjwFHDZmAxV4lVjWfA%3D%3D)来处理。 #### 问题描述 iOS 的机制是:app安装后、首次运行的时候,会弹窗询问用户是否启用网络访问的权限。 我期望在用户通过网络授权后(不论是蜂窝网络还是WIFI),才开始后续的webview的加载。但现在是app刚启动,还未等用户授权网络访问,就加载webview,导致无法打开网页。 我想使用Reachability库来解决这个问题,但是无论如何都无法进入whenReachable和whenUnreachable回调里。 麻烦请教大家,是什么原因导致的?我该如何修改? #### 代码结构 import Reachability class ViewController: UIViewController { ... override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. // 网络检测 开始 let reachability = try! Reachability() reachability.whenReachable = { reachability in if reachability.connection == .wifi { print("Reachable via WiFi") } else { print("Reachable via Cellular") } } reachability.whenUnreachable = { _ in print("Not reachable") } do { try reachability.startNotifier() } catch { print("Unable to start notifier") } // 网络检测 结束 // 加载html页面 let request = URLRequest(url: url) self.webView.load(request) }