1. Reachability.swift 介绍
1.1 Reachability.swift
Reachability.swift 是 Apple 的 Reachability 的替代品,用Swift重写了闭包。
它兼容 iOS(8.0 - 11.0),OSX(10.9 - 10.13)和 tvOS(9.0 - 11.0)
- 监视目标网络是否可用
- 监视当前网络的连接方式
- 监测连接方式的变更
2 Reachability.swift 安装
2.1 手动
将 Reachability.swift 文件夹放入项目即可。
2.2 CocoaPods
(1)确认 CocoaPods 已安装
(2)添加一下代码到工程内的 Podfile 文件中
1
2use_frameworks!
pod 'ReachabilitySwift'
(3)运行 pod install
2.2 Carthage
(1)通过 Homebrew 安装 Carthage
1 | $ brew update |
(2)添加 github "ashleymills/Reachability.swift"
到你的 Cartfile
(3)运行 carthage update
(4)将 Reachability.framework
从 Carthage/Build/iOS/
目录拖到 Xcode 项目的 General
设置的 Linked Frameworks and Libraries
中。
(5)将 $(SRCROOT)/Carthage/Build/iOS/Reachability.framework
添加到 Carthage 的运行脚本阶段的输入文件中。
(6)在您的代码中导入 Reachability,如下所示:import Reachability
2. 使用
2.1 closures 的使用
1 | //初始化 |
停止通知:
1 | reachability.stopNotifier() |
2.2 notifications 的使用
所有通知都在主线程中发送。
1 | //初始化 |
也可以这样使用
1 | func reachabilityChanged(note: Notification) { |
停止通知:
1 | reachability.stopNotifier() |
2.3 使用示例
(1)使用前记得导入ReachabilitySwift类,下面代码放在viewDidLoad()方法中即可。
1 | var reachability: Reachability! |
(2)监听网络变化
1 | // 网络可用或切换网络类型时执行 |
停止监听调用 reachability.stopNotifier()
即可。