TSNetworkTool.swift 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //
  2. // TSNetworkTool.swift
  3. // TSLiveWallpaper
  4. //
  5. // Created by 100Years on 2025/1/2.
  6. //
  7. import Alamofire
  8. import Network
  9. let TSNetworkShard = TSNetworkTool.shared
  10. class TSNetworkTool {
  11. static let shared = TSNetworkTool()
  12. func monitorNetworkPermission(escapable result: @escaping (Bool) -> Void) {
  13. let monitor = NWPathMonitor()
  14. let queue = DispatchQueue.global(qos: .background)
  15. monitor.start(queue: queue)
  16. monitor.pathUpdateHandler = { path in
  17. DispatchQueue.main.async {
  18. if path.status == .satisfied {
  19. debugPrint("网络可用,用户同意了权限")
  20. result(true)
  21. } else {
  22. debugPrint("网络不可用,可能用户拒绝了权限")
  23. result(false)
  24. }
  25. }
  26. }
  27. }
  28. func startListenNetStatus(handler: @escaping (NetworkReachabilityManager.NetworkReachabilityStatus, NetworkReachabilityManager?) -> Void) {
  29. // 创建 NetworkReachabilityManager 实例
  30. let networkManager = NetworkReachabilityManager.default
  31. // 开始监听网络状态
  32. networkManager?.startListening { status in
  33. handler(status, networkManager)
  34. }
  35. }
  36. }