Sfoglia il codice sorgente

feat:网络监听方法调整

kailen 2 mesi fa
parent
commit
6f5617a485

+ 1 - 0
Podfile

@@ -16,6 +16,7 @@ target 'TSLiveWallpaper' do
   pod 'MJRefresh', '3.7.5'
   pod 'TYCyclePagerView'
   pod 'Google-Mobile-Ads-SDK'
+  pod 'Alamofire'
 end
 
 

+ 9 - 3
TSLiveWallpaper/AppDelegate.swift

@@ -39,11 +39,17 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
     }
 
     func addNetListener() {
-        TSNetworkShard.monitorNetworkPermission { success in
-            if success {
+        TSNetworkShard.startListenNetStatus { status, manager in
+            switch status {
+            case .reachable:
                 PurchaseManager.default.requestProducts()
+                AppDelegate.requestAdTrack()
+                manager?.stopListening()
+            default:
+                AppDelegate.requestAdTrack()
+                PurchaseManager.default.requestProducts()
+                break
             }
-            AppDelegate.requestAdTrack()
         }
     }
 

+ 13 - 2
TSLiveWallpaper/Common/Tool/TSNetworkTool.swift

@@ -5,13 +5,15 @@
 //  Created by 100Years on 2025/1/2.
 //
 
+import Alamofire
 import Network
 
 let TSNetworkShard = TSNetworkTool.shared
 
 class TSNetworkTool {
     static let shared = TSNetworkTool()
-    func monitorNetworkPermission(escapable result:@escaping (Bool)->Void) {
+    
+    func monitorNetworkPermission(escapable result: @escaping (Bool) -> Void) {
         let monitor = NWPathMonitor()
         let queue = DispatchQueue.global(qos: .background)
         monitor.start(queue: queue)
@@ -27,5 +29,14 @@ class TSNetworkTool {
             }
         }
     }
-}
 
+    func startListenNetStatus(handler: @escaping (NetworkReachabilityManager.NetworkReachabilityStatus, NetworkReachabilityManager?) -> Void) {
+        // 创建 NetworkReachabilityManager 实例
+        let networkManager = NetworkReachabilityManager.default
+
+        // 开始监听网络状态
+        networkManager?.startListening { status in
+            handler(status, networkManager)
+        }
+    }
+}