如何枚举范围内所有可用的Wifi网络?

时间:2010-06-10 23:45:15

标签: iphone objective-c wifi wifimanager

我在google上看到这是不可能的,而且在OS 2.0上,有一些无证件的Api可以实现这一点,但随后你的应用程序将被拒绝....

我们几乎都在操作系统4.0上....关于这个的任何消息?

1 个答案:

答案 0 :(得分:2)

互联网上有2.0之前的解决方案。其中一个似乎如下:

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);

我不确定访问此框架是否不受限制。但是运行它会导致EXC_BAD_ACCESS。所以要么代码错了,框架已经改变,要么以某种方式锁定。请原谅我任何明显的Objective-C假设。我从星期四开始只讲Objective-C,所以我的Objective-C流畅性可能就像是将一名拉丁语演员跳伞到一个充满敌意的特兰西瓦尼亚山区。