gpt4 book ai didi

iphone - 访问和使用移动WiFi.framework

转载 作者:行者123 更新时间:2023-12-03 18:34:38 26 4
gpt4 key购买 nike

对于我的个人项目,我正在尝试检索 iPhone WiFi 信号强度。我完全意识到这是在无证善良的土地上,所以请不要回答“没有应用商店”。 :)

Anywho,我一直在阅读以前的 WiFi 网络扫描仪应用程序 ( WiFi Stumbler ),但恐怕大多数(如果不是全部)都反射(reflect)了过时的 SDK 文档。希望这个问题也能提供一些有关最新 iPhone SDK 3.1.2 的集中/有洞察力的 Material 。

这是我不完整/不起作用的代码:

.h

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

.m

libHandle = dlopen("/System/Library/PrivateFrameworks/MobileWiFi.framework/MobileWiFi",RTLD_LAZY);

open = dlsym(libHandle, "Apple80211Open");
bind = dlsym(libHandle, "Apple80211BindToInterface");
close = dlsym(libHandle, "Apple80211Close");
scan = dlsym(libHandle, "Apple80211Scan");

open(&airportHandle);
bind(airportHandle, @"en0");

NSLog(@"Result %@",libHandle);

当在设备上执行时,它将产生我最喜欢的......

Exception Type: EXC_BAD_ACCESS (SIGSEGV)

我认为动态加载调用没有加载任何内容。目录:/System/Library/PrivateFrameworks/仅列出一个 Info.plist 文件,没有二进制文件或别名。

可能做了一些非常错误的事情(错误的目录?)...感谢任何帮助!

另外,作为后续行动。要提取 WiFi 信息,可以通过以下方式完成:

GetInfoCopy = dlsym(libHandle, "Apple80211GetInfoCopy");

我的问题是 1)有人对此有运气吗? 2) 如何获得 header 转储,就像我在 Objective-C 库上使用类转储一样(因为 MobileWifi 使用 C 语言)?

最佳答案

对于任何偶然发现这个问题的人,这里是我用于访问 802.11 网络的库。尽管Apple声称拒绝任何使用私有(private)框架的应用程序,但AppStore上还是有几个闭源WiFi应用程序。使用风险由您自行承担。

该库适用于 iPhone SDK 3.1.2。

用途:

SOLStumbler *networksManager = [[SOLStumbler alloc] init];
[networksManager scanNetworks];

结果:

An networks NSDictionary of a info NSDictionary.

使用 CFShow 来探索返回的包含信息的指针。或者调用示例输出的描述方法。

关于iphone - 访问和使用移动WiFi.framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2018110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com