Domanda

Devo controllare se il dispositivo è stato collegato correttamente alla rete "My-Wifi" o meno. Se è connesso, invierò alcuni dati al server altrimenti no.

In questo momento sto solo controllando con la connessione Internet, usando la classe di raggiungibilità.

Allora come controllarlo?

È stato utile?

Soluzione

Puoi fare uso di CncopysupportedInterfaces () chiamata.

CFArrayRef interfaces = CNCopySupportedInterfaces();
CFIndex count = CFArrayGetCount(interfaces);

for (int i = 0; i < count; i++) {
    CFStringRef interface = CFArrayGetValueAtIndex(interfaces, i);
    CFDictionaryRef netinfo = CNCopyCurrentNetworkInfo(interface);
    if (netinfo && CFDictionaryContainsKey(netinfo, kCNNetworkInfoKeySSID)) {
        NSString *ssid = (__bridge NSString *)CFDictionaryGetValue(netinfo, kCNNetworkInfoKeySSID);
        // Compare with your needed ssid here
    }

    if (netinfo)
        CFRelease(netinfo);
}
CFRelease(interfaces);

Nella mia esperienza, di solito avrai un'interfaccia nell'array che sarebbe una struttura valida se sei connesso o NULL Se non lo sei. Tuttavia, ho lasciato che il ciclo sia lì per ogni evenienza.

Il __bridge Il cast all'interno è necessario solo se stai usando l'arco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top