RxWifi
RxWifi是iOS上Wi-Fi功能的响应式封装。它允许您从您的应用程序中连接到Wi-Fi网络,您还可以观察各种Wi-Fi变化。
- Wi-Fi已在系统级别启用
- Wi-Fi连接到AP
- 当前连接的SSID
- 当前IPv4地址
- 当前IPv6地址
用法
您可以通过调用RxWifi.shared
来简单地访问RxWifi。
通用属性
isEnabled
- 标志,用于确定Wi-Fi是否在系统设置中开启。isConnected
- 标志,用于确定系统当前是否连接到Wi-Fi网络。connectedSsid
- 当前连接的SSID名称(如果未连接则返回nil)。ipv4
- IPv4地址(如果未连接则返回nil)。ipv6
- IPv6地址(如果未连接则返回nil)。securityType
- 您要连接的网络的安全性类型(.wep
、.wpa
、.eap
(尚不支持))。默认.wpa
。persistConfiguration
- 标志,用于确定在应用程序完成后是否应保留Wi-Fi配置。默认false
。changeDetectionTimeInterval
- RxWifi多久轮询一次变化。默认是0.5
。
方法
connect(ssid,password)
尝试连接到带有提供的凭证的Wi-Fi网络。使用NetworkExtensions
框架连接(你无法在模拟器中连接)。返回带有.success
或.failure
(带错误)的Observable<ResultType>
。
Rx 观察者
RxWifi 还提供了可通过 rx
结构访问的观察者。
isConnectedChanged
- 与isConnected
属性关联,在changeDetectionTimeInterval
间隔检查变更。isEnabledChanged
- 与isEnabled
属性关联,在changeDetectionTimeInterval
间隔检查变更。ssidChanged
- 与connectedSsid
属性关联,在changeDetectionTimeInterval
间隔检查变更。ipv4Changed
- 与ipv4
属性关联,在changeDetectionTimeInterval
间隔检查变更。ipv6Changed
- 与ipv6
属性关联,在changeDetectionTimeInterval
间隔检查变更。
示例
要运行示例项目,请运行 pod try RxWifi
。
请注意,由于依赖于 NetworkExtensions
框架,connect(:)
方法在模拟器中不起作用。我已添加 IOS_SIMULATOR
标志,以便您至少可以为模拟器构建。
要求
使用 RxSwift
框架。您还需要为您的应用启用 热点配置
功能。
安装
RxWifi 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中
pod 'RxWifi'
作者
Tomas Friml, [邮箱地址被隐藏]
许可证
RxWifi 使用 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。