2017-11-15 9 views
-1

Ich habe eine Anwendung, die Netzwerkänderungen überwachen muss.
Nehmen wir an, wenn Wi-Fi gelöscht oder wieder verbunden wurde, dann muss ich einige Webdienste verwenden. Wie kann ich dies in iOS erreichen?
Ich verfüge über ein firmeneigenes Netzwerk, das Benutzer nach der Anmeldung als authentifiziert kennzeichnet. Ich möchte sicherstellen, dass der Benutzer authentifiziert wird, wenn sich WLAN ändert, andernfalls muss eine Authentifizierung durchgeführt werden.
Alles, was ich möchte, ist einige HTTP-Anfragen auf der Grundlage von Netzwerkänderungen durchzuführen.Überwachen von Netzwerkänderungen in iOS

Jede Hilfe wird geschätzt. Ich habe versucht, Reachability zu verwenden, aber das funktioniert nur, wenn Benutzer die Anwendung öffnet.

+0

Sie können feststellen, dass das Gerät eine Internetverbindung hat oder nicht. oder Sie können den Anruf in Funktion bekommen, wenn das Gerät sich mit dem Internet verbindet/trennt. ist das Ihre Anforderung? –

+0

basierend darauf möchte ich auch einige apis nennen. – AXad

+0

Ja, wenn Sie dieses Ereignis bekommen, können Sie apis leicht anrufen. –

Antwort

0

Reachability ermöglicht es der App, benachrichtigt zu werden, wenn sich die Netzwerkkonfiguration ändert.

benutzte ich diese Methode:

+ (instancetype)reachabilityForInternetConnection return [self connectivityWithAddress:&zeroAddress]; 

Meine Apps empfangen regelmäßige Rückrufe, wenn ich mit dem Wi-Fi-Verbindung.

-1

Ja, Sie können dies mit Erreichbarkeit erreichen. Folgen Sie einfach diesen Schritten

Schritt-1: Speichern Sie einfach diese Reachability.swift Datei und fügen Sie zu Ihrem Projekt.

Schritt-2:Swift-3,0

func checkNetworkStatus() { 

    self.reachability = Reachability(hostname: "https://www.google.co.in") 

    NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged(_:)), name: Notification.Name.reachabilityChanged, object: self.reachability) 

    do { 
     try self.reachability?.startNotifier() 
    } catch { 
     print("This is not working.") 
     return 
    } 

} 

func reachabilityChanged(_ note: Notification) { 

    let reachability = note.object as! Reachability 

    if reachability.connection == .wifi { 
     print("Reachable with wifi") 
    } 
    else if reachability.connection == .cellular { 
     print("Reachable with cellular") 
    } 
    else { 
     print("Not reachable") 
    } 
} 
deinit { 
    NotificationCenter.default.removeObserver(self, name: Notification.Name.reachabilityChanged, object: self.reachability) 
} 

Kopieren Sie einfach und diese Methoden zu Ihren View-Controller einfügen und self.checkNetworkStatus() in viewDidLoad() in Sie Viewcontroller nennen.

+0

Wenn App im Hintergrund ist Wie wird es benachrichtigt ???? – AXad

+0

Nein, es wird nicht für den Hintergrundmodus unterstützt. –

+0

Das ist mein Hauptproblem. – AXad

Verwandte Themen