2010-04-14 18 views
6

Wenn ja, können wir zusätzliche Informationen zur Netzwerkkonfiguration erhalten?Ist es auf dem iPhone möglich, herauszufinden, mit welchem ​​WIFI-Netzwerk wir verbunden sind?

Eine nützliche Möglichkeit, dies zu tun, könnte die SSID des aktuellen Netzwerks sein. Gibt es dafür eine API?

Update: Ich fand eine ähnliche Frage hier:

Can the iPhone SDK obtain the Wi-Fi SSID currently connected to?

+0

Mögliche doppelte: http://stackoverflow.com/questions/1625158/iphone-sdk-detect-wifi-and-carrier-network –

+0

Nein, kein Duplikat davon . Dieser Fragesteller möchte wissen, * mit welchem ​​WiFi-Netzwerk er verbunden ist, nicht * ob * er mit einem verbunden ist oder ob er nur über das Handy verbunden ist (oder überhaupt nicht). –

+0

Bis vor ein paar Wochen gab es im Appstore eine Anwendung mit dem Namen WifiTrak (http://www.bitrino.com/wifitrak/support.html), die eine Liste aller verfügbaren Wi-Fi-Hotspots in Reichweite zeigte. Es wurde jedoch aus dem Appstore gezogen, also obwohl es schien, dass dies möglich ist, könnte es von Apple aus irgendeinem Grund nicht akzeptabel sein. –

Antwort

1

(Separate Antwort zu bewahren Geschichte etc.)

Es sieht aus wie Sie die SSID des WLAN zu bestimmen, könnte der Lage sein, mit dem Sie verbunden sind, zumindest in einer App, die in die App gehen Geschäft. These people Verwenden Sie eine private API - Preferences.framework - um zu den Details des WLAN zu gelangen (wie "ist es versteckt?" "Wie lautet der Name?" Usw.).

0

Haben Sie bei der Reachability Beispielanwendung geschaut?

Bearbeiten: Die App Erreichbarkeit zeigt die Verwendung des SystemConfiguration-Framework, um zu zeigen, ob Ihr Telefon mit dem Internet verbunden ist und, wenn ja, wie.

Weiterhin können Sie zwischen einer lokalen WiFi-Verbindung und nicht unterscheiden (+ [Erreichbarkeit Erreichbarkeit für LokalesWiFi]).

In Bezug auf das Fleisch Ihrer Frage, müssen Sie die ARP-Tabelle des Telefons konsultieren. This answer zeigt Ihnen, wie Sie genau das tun.

+0

Vielleicht könnten Sie Ihre Antwort klären. Sagst du "ja, du kannst, hier ist ein Link zu einem Beispielcode, der das tut" oder sagst du "nein, du kannst nicht; aber hier ist eine Idee von den anderen Dingen, die du tun kannst." Oder sagst du "Ich weiß es auch nicht, aber schau hier rüber", was eigentlich als Kommentar besser wäre, da es die Frage nicht beantwortet. –

+0

Das Erreichbarkeitsmuster zeigt nur, wenn wir mit einem Netzwerk verbunden sind. Es zeigt nicht, wie wir die aktuelle Netzwerkidentifikation erhalten können. – Plumenator

+0

Was meinen Sie mit der Identifikation eines Netzwerks? Meinst du die SSID eines WLAN? –

1

Kann nicht sagen, aber dies könnte ein Duplikat sein:

Accessing iPhone WiFi Information via SDK

Antwort scheint nicht zu sein. Ich habe meine eigenen Forschungen dazu durchgeführt und konnte keine unterstützte Methode finden, die SSID zu erhalten.

2

Versuchen folgende Methode:

#import <SystemConfiguration/CaptiveNetwork.h> 

NSString *wifiName = @"Not Found"; 
CFArrayRef myArray = CNCopySupportedInterfaces(); 

if (myArray != nil) { 

    CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0)); 

    if (myDict != nil) { 
     NSDictionary *dict = (NSDictionary*)CFBridgingRelease(myDict); 

     wifiName = [dict valueForKey:@"SSID"]; 

    } 
} 

NSLog(@"wifiName:%@", wifiName);