iOS swift 第一次启动检测网络

775 阅读1分钟

11.webp

  • apple 提供的 API ❌
let cellularData = CTCellularData()
cellularData.cellularDataRestrictionDidUpdateNotifier = { state in

            print("-- state = ",state)

            switch state {

            case .notRestricted://无限制(允许无线局域网与蜂窝数据时)

                break;

            case .restricted://受限的(仅限无线网络时、不允许时)

                break

            case .restrictedStateUnknown://受限状态未知的

                break

            default:

                break

            }

        }

❌ restricted:受限的。不能区分 仅限无线网络,还是 不允许 使用网络。

  • ✅ Alamofire 推荐使用

import Alamofire

       let networkManager = NetworkReachabilityManager()

       let isReachable =  networkManager?.isReachable

        print("--- isReachable = ",isReachable)

        networkManager?.startListening(onUpdatePerforming: { status in

            switch status {

                case .notReachable: // 无网络

                    print("-- 无网络")

                        

                case .unknown: // 未知

                    print("--未知")

               

                case .reachable(let type): // wifi ,蜂窝

                    print("--有网")

            }

        })