南鑫林 пре 6 година
родитељ
комит
41743588dc

+ 0 - 1
RainbowPlanet/Podfile

@@ -8,7 +8,6 @@ target 'RainbowPlanet' do
   # 网络请求
   pod 'Alamofire'
   pod 'Moya/RxSwift'
-  pod 'ReachabilitySwift'
   # Rx
   pod 'RxSwift'
   pod 'RxCocoa'

+ 1 - 5
RainbowPlanet/Podfile.lock

@@ -24,7 +24,6 @@ PODS:
     - RxSwift (~> 4.0)
   - ObjectMapper (3.4.2)
   - PPBadgeViewSwift (3.1.0)
-  - ReachabilitySwift (4.3.1)
   - Realm (3.15.0):
     - Realm/Headers (= 3.15.0)
   - Realm/Headers (3.15.0)
@@ -77,7 +76,6 @@ DEPENDENCIES:
   - Moya/RxSwift
   - ObjectMapper
   - PPBadgeViewSwift
-  - ReachabilitySwift
   - RealmSwift
   - RxCocoa
   - RxSwift
@@ -113,7 +111,6 @@ SPEC REPOS:
     - Moya
     - ObjectMapper
     - PPBadgeViewSwift
-    - ReachabilitySwift
     - Realm
     - RealmSwift
     - Result
@@ -147,7 +144,6 @@ SPEC CHECKSUMS:
   Moya: f4a4b80ff2f8a4ffc208dfb31cd91636622fee6e
   ObjectMapper: 0d4402610f4e468903ae64629eec4784531e5c51
   PPBadgeViewSwift: 18a219a9897f418342c22dd1a54f7b18ac56546b
-  ReachabilitySwift: 4032e2f59586e11e3b0ebe15b167abdd587a388b
   Realm: 9b834e1be6062f544805252c812348872dc5d4ed
   RealmSwift: 8a41886f8ab6efef9eb8df97de2f2bb911561a79
   Result: bd966fac789cc6c1563440b348ab2598cc24d5c7
@@ -163,6 +159,6 @@ SPEC CHECKSUMS:
   UMCSecurityPlugins: 0831a08f3988f3cea9f1d3a7626cd9bee4fef150
   UMCShare: 552b29753f1b4da87b51d96545ed19e6263df397
 
-PODFILE CHECKSUM: 49d6a5e69ac37ef68bd4fbcf86378c5b48afee7e
+PODFILE CHECKSUM: 49bfe27defc187ee34a3de662667b0ab9a9418c5
 
 COCOAPODS: 1.6.2

+ 7 - 9
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -157,7 +157,7 @@
 		A738D202225AD6AD00EEE860 /* Extension+UICollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A738D201225AD6AD00EEE860 /* Extension+UICollectionView.swift */; };
 		A738D205225AF90D00EEE860 /* WeChatpayOrderModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A738D204225AF90D00EEE860 /* WeChatpayOrderModel.swift */; };
 		A738D66F225D9BD900EEE860 /* UMLoginModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A738D66E225D9BD900EEE860 /* UMLoginModel.swift */; };
-		A73911AD229CD62F0033177E /* ReachabilitySwiftManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A73911AC229CD62F0033177E /* ReachabilitySwiftManager.swift */; };
+		A73911AD229CD62F0033177E /* AlamofireReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A73911AC229CD62F0033177E /* AlamofireReachabilityManager.swift */; };
 		A73D7C682268A032002A4CE3 /* SwiftyStarRatingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A73D7C672268A032002A4CE3 /* SwiftyStarRatingView.swift */; };
 		A75414FD224B5F28002480B5 /* MobileLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A75414FB224B5F28002480B5 /* MobileLoginViewController.swift */; };
 		A7541502224C5ECB002480B5 /* BaiduMapManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7541501224C5ECA002480B5 /* BaiduMapManager.swift */; };
@@ -545,7 +545,7 @@
 		A738D201225AD6AD00EEE860 /* Extension+UICollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Extension+UICollectionView.swift"; sourceTree = "<group>"; };
 		A738D204225AF90D00EEE860 /* WeChatpayOrderModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WeChatpayOrderModel.swift; sourceTree = "<group>"; };
 		A738D66E225D9BD900EEE860 /* UMLoginModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UMLoginModel.swift; sourceTree = "<group>"; };
-		A73911AC229CD62F0033177E /* ReachabilitySwiftManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReachabilitySwiftManager.swift; sourceTree = "<group>"; };
+		A73911AC229CD62F0033177E /* AlamofireReachabilityManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlamofireReachabilityManager.swift; sourceTree = "<group>"; };
 		A73D7C672268A032002A4CE3 /* SwiftyStarRatingView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftyStarRatingView.swift; sourceTree = "<group>"; };
 		A75414FB224B5F28002480B5 /* MobileLoginViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MobileLoginViewController.swift; sourceTree = "<group>"; };
 		A7541501224C5ECA002480B5 /* BaiduMapManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaiduMapManager.swift; sourceTree = "<group>"; };
@@ -1488,7 +1488,7 @@
 		A72A725422321B9400B21995 /* Manager */ = {
 			isa = PBXGroup;
 			children = (
-				A73911AB229CD6080033177E /* ReachabilitySwiftManager */,
+				A73911AB229CD6080033177E /* AlamofireReachabilityManager */,
 				A7778CA52243A03400C7C47A /* IQKeyboardManagerSwiftManager */,
 				A72A730522321F1D00B21995 /* PayManager */,
 				A72A726122321DBD00B21995 /* MapManager */,
@@ -1712,12 +1712,12 @@
 			path = Model;
 			sourceTree = "<group>";
 		};
-		A73911AB229CD6080033177E /* ReachabilitySwiftManager */ = {
+		A73911AB229CD6080033177E /* AlamofireReachabilityManager */ = {
 			isa = PBXGroup;
 			children = (
-				A73911AC229CD62F0033177E /* ReachabilitySwiftManager.swift */,
+				A73911AC229CD62F0033177E /* AlamofireReachabilityManager.swift */,
 			);
-			path = ReachabilitySwiftManager;
+			path = AlamofireReachabilityManager;
 			sourceTree = "<group>";
 		};
 		A73D7C662268A032002A4CE3 /* SwiftyStarRatingView */ = {
@@ -3266,7 +3266,6 @@
 				"${BUILT_PRODUCTS_DIR}/Moya/Moya.framework",
 				"${BUILT_PRODUCTS_DIR}/ObjectMapper/ObjectMapper.framework",
 				"${BUILT_PRODUCTS_DIR}/PPBadgeViewSwift/PPBadgeViewSwift.framework",
-				"${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework",
 				"${BUILT_PRODUCTS_DIR}/Realm/Realm.framework",
 				"${BUILT_PRODUCTS_DIR}/RealmSwift/RealmSwift.framework",
 				"${BUILT_PRODUCTS_DIR}/Result/Result.framework",
@@ -3295,7 +3294,6 @@
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjectMapper.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PPBadgeViewSwift.framework",
-				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Realm.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RealmSwift.framework",
 				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework",
@@ -3359,7 +3357,7 @@
 				A71AA51C227219EF008FF1A5 /* EditExpressAddressView.swift in Sources */,
 				BDAA40FB228E9CC300CF841D /* OrderApplyRefundNoteInfoCell.swift in Sources */,
 				A7CC751122715AE3003C4F38 /* MessageDetailesTimeView.swift in Sources */,
-				A73911AD229CD62F0033177E /* ReachabilitySwiftManager.swift in Sources */,
+				A73911AD229CD62F0033177E /* AlamofireReachabilityManager.swift in Sources */,
 				A7BB684F2268DCEC00AB07A2 /* SelfRecommendationViewController.swift in Sources */,
 				A7B4E7352281907A0012914A /* CMSModel.swift in Sources */,
 				A72A72BE22321DE000B21995 /* Extension+RxTimer.swift in Sources */,

+ 0 - 1
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+Window.swift

@@ -24,7 +24,6 @@ extension AppDelegate {
             self?.setNavBarAppearence()
         }
         // 获取默认配置
-        SwiftMoyaNetWorkServiceConfig.shared().configPickupNodeIndexApi { _ in }
         if (UserModel.shared().getModel()?.token) != nil && (DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType) != nil {
             /// 设置Tabbar
             /// 刷新token

+ 1 - 3
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate.swift

@@ -13,9 +13,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
     var window: UIWindow?
 
-
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
-       
         //初始化窗口
         initWindow()
         //初始化友盟
@@ -23,7 +21,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         DispatchQueue.global(qos: .default).async {
             //初始化百度地图
             BaiduMapManager.shared().initBaiduMap()
-//            //初始化键盘
+            //初始化键盘
             IQKeyboardManagerSwiftManager.shared().initIQKeyboardManagerSwift()
         }
     

+ 77 - 0
RainbowPlanet/RainbowPlanet/Manager/AlamofireReachabilityManager/AlamofireReachabilityManager.swift

@@ -0,0 +1,77 @@
+//
+//  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 reachabilityManager = NetworkReachabilityManager(host: kApiDataPrefix())!
+    private var manager = NetworkReachabilityManager()!
+
+    
+    /// 网络监听
+    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 {
+            AlamofireReachabilityManager.shared.alert()
+            return false
+        }
+        
+    }
+    
+    /// 弹框跳转设置页面
+    public func alert(){
+        AlertSheetView.alert(title: "网络连接失败", detailTitle: "检测到网络权限可能未开启\n您可以在\"设置>无线数据>WLAN或WLAN与蜂窝移动网\"开启一下吧", cancelTitle: "取消", sureTitle: "设置", cancelBlock:nil, confirmBlock: { (popupView, index, str) in
+            DispatchQueue.main.async(execute: {() -> Void 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)
+                    }
+                }
+            })
+        })
+    }
+}

+ 0 - 123
RainbowPlanet/RainbowPlanet/Manager/ReachabilitySwiftManager/ReachabilitySwiftManager.swift

@@ -1,123 +0,0 @@
-//
-//  ReachabilitySwiftManager.swift
-//  RainbowPlanet
-//
-//  Created by 南鑫林 on 2019/5/28.
-//  Copyright © 2019 RainbowPlanet. All rights reserved.
-//
-
-import UIKit
-import Reachability
-
-class ReachabilitySwiftManager: NSObject {
-    static let shared : ReachabilitySwiftManager = ReachabilitySwiftManager()
-    
-    public lazy var reachability: Reachability = {
-        let reachability = Reachability()!
-        return reachability
-    }()
-    
-    /// 初始化网络监听
-    public func initStartReachability() {
-        whenReachable()
-        whenUnreachable()
-        startNotifier()
-    }
-    
-    
-    /// 初始化网络监听需要他停止监听
-    public func initStartStopReachability() {
-        whenReachableStopNotifier()
-        whenUnreachableStopNotifier()
-        startNotifier()
-    }
-    
-    /// 监听到连接
-    private func whenReachable() {
-        reachability.whenReachable = { reachability in
-            if reachability.connection == .wifi {
-                NXLLog("Reachable via WiFi")
-            } else if reachability.connection == .cellular {
-                NXLLog("Reachable via Cellular")
-            }
-        }
-    }
-    
-    /// 监听到没有连接
-    private func whenUnreachable() {
-        reachability.whenUnreachable = { [weak self] _ in
-            self?.alert()
-            NXLLog("Not reachable")
-        }
-    }
-    
-    /// 监听到连接需要停止监听
-    private func whenReachableStopNotifier() {
-        reachability.whenReachable = { [weak self] reachability in
-            if reachability.connection == .wifi {
-                NXLLog("Reachable via WiFi")
-               
-            } else if reachability.connection == .cellular {
-                NXLLog("Reachable via Cellular")
-            }
-            self?.stopNotifier()
-        }
-    }
-    /// 监听到没有连接需要停止监听
-    private func whenUnreachableStopNotifier() {
-        reachability.whenUnreachable = { _ in
-            AlertSheetView.alert(title: "网络连接失败", detailTitle: "检测到网络权限可能未开启,您可以在\"设置\"中检查蜂窝移动网络", cancelTitle: "取消", sureTitle: "设置", cancelBlock: {[weak self] (popupView, index, str) in
-                self?.stopNotifier()
-                }, confirmBlock: { (popupView, index, str) in
-                    DispatchQueue.main.async(execute: {  [weak self] () -> Void 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: {
-                                [weak self] (success) in
-                                self?.stopNotifier()
-                            })
-                        }else {
-                            UIApplication.shared.openURL(url)
-                            self?.stopNotifier()
-                            }
-                            
-                        }
-                        
-                    })
-            })
-            NXLLog("Not reachable")
-        }
-    }
-    
-    /// 开始监听
-    private func startNotifier() {
-        do {
-            try reachability.startNotifier()
-        } catch {
-            startNotifier()
-            NXLLog("Unable to start notifier")
-        }
-    }
-    
-    
-    /// 停止监听
-    private func stopNotifier() {
-        reachability.stopNotifier()
-    }
-    
-    /// 弹框跳转设置页面
-    public func alert(){
-        AlertSheetView.alert(title: "网络连接失败", detailTitle: "检测到网络权限可能未开启\n您可以在\"设置>无线数据>WLAN或WLAN与蜂窝移动网\"开启一下吧", cancelTitle: "取消", sureTitle: "设置", cancelBlock:nil, confirmBlock: { (popupView, index, str) in
-                DispatchQueue.main.async(execute: {() -> Void 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)
-                        }
-                    }
-                })
-        })
-    }
-
-}

+ 1 - 3
RainbowPlanet/RainbowPlanet/Manager/UMManager/UMManager.swift

@@ -314,11 +314,9 @@ extension UMManager {
     /// - Parameter platformType: 平台
     func loginGetUserInfo(platformType: UMSocialPlatformType,callBack: @escaping (UMLoginModel) -> (Void)) {
         
-        if ReachabilitySwiftManager.shared.reachability.connection == .none {
-             ReachabilitySwiftManager.shared.alert()
+        if !AlamofireReachabilityManager.shared.isNetworkConnect() {
             return
         }
-        
         let isInstall = UMSocialManager.default()?.isInstall(platformType)
         if isInstall!  { //验证
             UMSocialManager.default().getUserInfo(with: platformType, currentViewController: nil) { result, error in

+ 5 - 5
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/SwiftMoyaNetWorkManager.swift

@@ -82,12 +82,12 @@ private let provider = MoyaProvider<MultiTarget>(endpointClosure: myEndpointClos
 /// 用get方法是因为这样才会在获取isNetworkConnect时实时判断网络链接请求,如有更好的方法可以fork
 private var isNetworkConnect: Bool {
     get{
-        let network = NetworkReachabilityManager()
-        if !(network?.isReachable ?? true) {
-            SwiftProgressHUD.shared().showError("网络链接失败,请检查网络")
-            ReachabilitySwiftManager.shared.alert()
+        if !AlamofireReachabilityManager.shared.isNetworkConnect() {
+            SwiftProgressHUD.shared().hide()
+            return false
+        }else {
+            return true
         }
-        return network?.isReachable ?? true //无返回就默认网络已连接
     }
 }