2010-06-10 5 views
1

J'ai lu sur google que ce n'est pas possible, et que sur OS 2.0, il était un Api non documenté pour accomplir cela, mais alors votre application sera rejetée ....comment énumérer tous les réseaux Wifi disponibles à portée?

nous sommes presque sur OS 4.0 .. ..toutes les nouvelles concernant ceci?

+0

Essayez le lien suivant https://code.google.com/p/iphone-wireless/source/browse/trunk/Stumbler/MSNetworksManager.m –

Répondre

2

Il existe des solutions pré-2.0 sur Internet. L'un d'entre eux semble être le suivant:

void *libHandle; 
void *airportHandle; 
int (*open)(void *); 
int (*bind)(void *, NSString *); 
int (*close)(void *); 

libHandle = dlopen("/System/Library/Frameworks/Preferences.framework/Preferences", RTLD_LAZY); 
open = dlsym(libHandle, "Apple80211Open"); 
bind = dlsym(libHandle, "Apple80211BindToInterface"); 
close = dlsym(libHandle, "Apple80211Close"); 

open(&airportHandle); 
bind(airportHandle, CFSTR("en0")); 
close(&airportHandle); 

dlclose(libHandle); 

Je ne suis pas sûr si l'accès à ce cadre est interdit. Mais l'exécuter provoque un EXC_BAD_ACCESS. Donc, soit le code est faux, le cadre a changé ou il est en quelque sorte verrouillé. Pardonnez-moi pour tout faux-pas évident d'Objective-C. Je ne parle que l'Objective-C depuis jeudi, donc ma maîtrise d'Objective-C est probablement comme parachuter un locuteur latin dans une région hostile de Transylvanie.

Questions connexes