【问题标题】:how to enumerate all available Wifi networks at range?如何枚举范围内所有可用的 Wifi 网络?
【发布时间】:2010-06-10 23:45:14
【问题描述】:

我在谷歌上读到这是不可能的,而在 OS 2.0 上,它是一些未记录的 Api 来实现这一点,但是你的应用会被拒绝......

OS 4.0 即将推出……有任何消息吗?

【问题讨论】:

标签: iphone objective-c wifi wifimanager


【解决方案1】:

可以在 Internet 上找到 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 流利程度可能就像把一个讲拉丁语的人跳伞到一个充满敌意的特兰西瓦尼亚山区。

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 2020-03-31
    • 2011-11-06
    • 1970-01-01
    相关资源
    最近更新 更多