我需要一个功能只在系统检测到没有互联网连接时运行,然后在系统检测到互联网连接时运行另一个功能。
我在考虑这样的事情:
func onInternetConnection() {
//Enable actions
}
func onInternetDisconnection() {
//Disable actions, alert user
}
我还需要一种方法来检测系统何时重新连接,这样我就可以让用户知道它正在重新连接,就像在Facebook的Messenger中一样。
我该怎么做?
我正在使用Moya / Alamofire作为我的网络层。
答案 0 :(得分:4)
这适用于Alamofire
import Alamofire
// In your view did load or in app delegate do like this
let reachabilityManager = NetworkReachabilityManager()
reachabilityManager.listener = { status in
switch status {
case .notReachable:
print("The network is not reachable")
self.onInternetDisconnection()
case .unknown :
print("It is unknown whether the network is reachable")
self.onInternetDisconnection() // not sure what to do for this case
case .reachable(.ethernetOrWiFi):
print("The network is reachable over the WiFi connection")
self.onInternetConnection()
case .reachable(.wwan):
print("The network is reachable over the WWAN connection")
self.onInternetConnection()
}
}
答案 1 :(得分:0)
Alamofire和Rechability是图书馆,它具有检查互联网连接的一些功能。你可以使用它。