123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //
- // ReachabilitySwiftManager.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/5/28.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- import Alamofire
- class AlamofireReachabilityManager: NSObject {
-
- /// 单列
- static let shared : AlamofireReachabilityManager = AlamofireReachabilityManager()
-
- /// 初始化对象
- private var manager = NetworkReachabilityManager()!
-
- /// 初始化对象
- lazy var reachabilityManager: NetworkReachabilityManager = {
- let reachabilityManager = NetworkReachabilityManager(host: kApiDataPrefix())!
- return reachabilityManager
- }()
-
- /// 网络监听
- public func reachability() {
- reachabilityManager.listener = { status in
- if status == NetworkReachabilityManager.NetworkReachabilityStatus.notReachable {
- NXLLog("当前无网络")
- }
- if status == NetworkReachabilityManager.NetworkReachabilityStatus.unknown {
- NXLLog("当前网络环境为:未知网络")
- }
- if status == NetworkReachabilityManager.NetworkReachabilityStatus.reachable(.ethernetOrWiFi) {
- NXLLog("当前网络环境为:无线网络")
- }
- if status == NetworkReachabilityManager.NetworkReachabilityStatus.reachable(.wwan) {
- NXLLog("当前网络环境为:无线广域网")
- }
- }
- startListening()
- }
-
-
- /// 开始监听
- private func startListening() {
- reachabilityManager.startListening()
- }
-
- /// 结束监听
- private func stopListening() {
- reachabilityManager.stopListening()
- }
-
- /// 判断是否连接网络
- public func isNetworkConnect() -> Bool {
-
- if manager.isReachable {
- return true
- }else {
- return false
- }
- }
-
- // /// 弹框跳转设置页面
- // public func alert(){
- //
- // DispatchQueue.main.async(execute: {() -> Void in
- // AlertSheetView.alert(title: "网络连接失败", detailTitle: "检测到网络权限可能未开启\n您可以在\"设置>无线数据>WLAN或WLAN与蜂窝移动网\"开启一下吧", cancelTitle: "取消", sureTitle: "设置", cancelBlock:nil, confirmBlock: { (popupView, index, str) in
- // let url = URL(string: UIApplication.openSettingsURLString)
- // if let url = url, UIApplication.shared.canOpenURL(url) {
- // if #available(iOS 10.0, *) {
- // UIApplication.shared.open(url, options: [:],completionHandler: {(success) in})
- // }else {
- // UIApplication.shared.openURL(url)
- // }
- // }
- // })
- // })
- // }
- }
|