Benutze ich CNCopyCurrentNetworkInfo korrekt?

8

Ich habe einige Probleme mit den von CNCopyCurrentNetworkInfo zurückgegebenen Daten und habe mich gefragt, ob ich etwas falsch mache.

Ich verwende den folgenden Code, um die BSSID des aktuell verbundenen Access Points anzuzeigen:

%Vor%

Beim Überprüfen der NSLog-Anweisungen scheint es, als ob CNCopyCurrentNetworkInfo unter bestimmten Umständen an alte Daten für kCNNetworkInfoKeyBSSID hängt.

Ich habe zwei Access Points eingerichtet und versuche die BSSID des aktuell verbundenen AP zu erhalten. Wenn ich mit nur einem aktivierten AP starte, wird die korrekte BSSID zurückgegeben. Wenn ich diesen AP ausschalte, bekomme ich keine BSSID (richtig) und wenn ich den zweiten AP einschalte und mich verbinde, bekomme ich die korrekte BSSID des zweiten AP.

Wenn ich jedoch mit einem aktivierten AP beginne, führe diesen Code aus und erhalte korrekt die BSSID dieses APs. Ich schalte dann den zweiten AP ein und schalte dann den ersten aus (zwingt das Gerät, zum zweiten AP zu wandern), die Protokollanweisungen geben immer noch die BSSID des ersten AP zurück (den ich ausgeschaltet habe und möglicherweise nicht verbunden bin) / p>

Hat jemand mehr Erfahrung damit als ich hatte? Soll ich die von CNCopyCurrentNetworkInfo zwischen den Aufrufen zurückgegebenen Werte manuell leeren?

Ich habe dies sowohl auf einem iPod touch der 4. Generation mit iOS 4.3, das mit Xcode 4 gebaut wurde, als auch auf einem iPhone 4 mit iOS 4.1, das mit Xcode 3.2.4 gebaut wurde, ausgeführt.

    
goawaygeek 18.04.2011, 02:45
quelle

1 Antwort

4

Ich werde eine Antwort auf diese Frage geben, denn sie scheint gelegentlich Stimmen zu bekommen und könnte mit einer Lösung klarkommen.

Kurze Version ist das ja, so soll man CNCopyCurrentNetworkInfo verwenden. Dies ist ein Fehler in iOS 4 und 5. Wenn Sie derzeit eine Betaversion von iOS 6 ausführen, würde ich vorschlagen, zu untersuchen, ob es immer noch so funktioniert und es dann an Apple meldet.

Ich hatte das Glück, dass ich an Unternehmensanwendungen arbeitete und diese Informationen durch Aufrufe an private APIs gewinnen konnte. Für Informationen dazu, würde ich empfehlen, hier zu suchen: iphone-wireless auf Google-Code

    
goawaygeek 03.07.2012, 04:57
quelle