★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10222487.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
本文将演示如何使用AlamofireReachbility快速检测网络连接状态。
首先确保在项目中已经安装了所需的第三方库。
点击【Podfile】,查看安装配置文件。
1 source 'https://github.com/CocoaPods/Specs.git' 2 platform :ios, '12.0' 3 use_frameworks! 4 5 target ‘DemoApp’ do 6 pod 'Alamofire', '~> 4.0' 7 end
根据配置文件中的相关配置,安装第三方库。
然后点击打开【DemoApp.xcworkspace】项目文件。
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
现在开始编写代码,实现网络网络检测连接状态功能。
1 import UIKit 2 //在当前的类文件中,引入已经安装的第三方类库 3 import Alamofire 4 5 class ViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //初始化一个网络连接状态管理器,并设置检测的目标网址。 12 let manager = NetworkReachabilityManager(host: "www.apple.com") 13 //调用管理对象的开始监听方法,开始检测目标网址的可连接性 14 manager?.startListening() 15 16 //通过一个代码块,来处理监听的结果 17 manager?.listener = { status in 18 19 //在控制台输出:网络的状态 20 print(">>>>> Network Status Changed: (status)") 21 //在控制台输出:网络状态管理器对象的可访问性 22 print("isReachable:(manager?.isReachable)") 23 //在控制台输出:是否可以通过无线广域网访问目标网址 24 print("isReachableOnWWAN:(manager?.isReachableOnWWAN)") 25 //在控制台输出:是否可以通过无线局域网访问目标网址 26 print("isReachableOnEthernetOrWiFi(manager?.isReachableOnEthernetOrWiFi)") 27 //在控制台输出:输出网络的访问状态 28 print("networkReachabilityStatus:(manager?.networkReachabilityStatus)") 29 30 //停止对网络状态的监听 31 manager?.stopListening() 32 } 33 } 34 35 override func didReceiveMemoryWarning() { 36 super.didReceiveMemoryWarning() 37 // Dispose of any resources that can be recreated. 38 } 39 }