Die Erreichbarkeit scheitert manchmal, selbst wenn wir eine Internetverbindung haben

8

Ich habe gesucht, kann aber keine ähnliche Frage sehen.

Ich habe eine Methode hinzugefügt, um nach dem Beispiel der Erreichbarkeit nach einer Internetverbindung zu suchen. Es funktioniert die meiste Zeit, aber wenn es auf dem iPhone installiert wird, scheitert es oft sogar, wenn ich Internetkonnektivität habe (nur wenn 3G / EDGE - WiFi in Ordnung ist).

Grundsätzlich gibt der folgende Code NO zurück.

Wenn ich zu einer anderen App wechsle, zum Beispiel Mail oder Safari, und mich verbinde, dann wechsle zurück zur App, dann sagt der Code, dass das Internet erreichbar ist. Irgendwie scheint es, als ob es einen 'Nudge' braucht.

Wer hat das schon mal gesehen? Irgendwelche Ideen?

Vielen Dank James

%Vor%

}

    
stoutyhk 15.08.2009, 05:24
quelle

4 Antworten

7

Sieht so aus, als hätten Sie einige grundlegende Erreichbarkeitscodes aus dem Apple-Beispielcode entfernt. Was passiert, wenn Sie es intakt lassen und dies tun?

%Vor%     
Matt Long 15.08.2009 06:28
quelle
1

Bei der Version 2 sollte der Code wie folgt lauten:

%Vor%

}

    
stoutyhk 19.08.2009 14:15
quelle
1

Was ich herausgefunden habe ist, dass Sie wissen müssen, welchen Thread (Runloop) Sie zuerst startNotifier aufrufen. Wenn Sie es von einem Hintergrundthread oder NSOperation aufrufen, starten Sie die Notifier-Schleife in der Ausführungsschleife dieses Threads.

Wenn Sie Instanzen teilen, vielleicht einen Singleton wie in [Reachability reachabilityForInternetConnection] , erscheint aus dem aktuellen Code (2.0), dass der letzte Aufrufer gewinnt und der Notifier auf seine Laufschleife gesetzt wird.

    
sehugg 12.06.2010 00:15
quelle
1
%Vor%

(Entschuldigung, das Codeformat hat im Kommentar nicht funktioniert)

    
stoutyhk 15.08.2009 07:17
quelle

Tags und Links