对于我的个人项目,我正在尝试检索iPhone WiFi信号强度.我完全清楚这是在无证善良的土地上,所以请不要回答"没有Appstore"的答案.:)
Anywho,我一直在阅读以前的WiFi网络扫描仪应用程序(WiFi Stumbler),但我担心大多数(如果不是全部)反映过时的SDK文档.希望这个问题还能为最新的iPhone SDK 3.1.2提供一些集中/有见地的材料.
这是我的不完整/不工作的代码:
.H
void *libHandle;
void *airportHandle;
int (*open)(void *);
int (*bind)(void *, NSString *);
int (*close)(void *);
int (*scan)(void *, NSArray **, void *);
Run Code Online (Sandbox Code Playgroud)
.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);
Run Code Online (Sandbox Code Playgroud)
在设备上执行时,它会产生我最喜欢的......
例外类型:EXC_BAD_ACCESS(SIGSEGV)
我在想动态加载调用,没有加载任何东西.目录:/ System/Library/PrivateFrameworks /仅列出没有二进制文件或别名的Info.plist文件.
可能做了一些非常错误的事情(错误的目录?)...感谢任何帮助!
另外,作为后续行动.要提取WiFi信息,可以通过以下方式完成:
GetInfoCopy = dlsym(libHandle, "Apple80211GetInfoCopy");
Run Code Online (Sandbox Code Playgroud)
我的问题是1)有人有运气吗?2)你如何得到一个标题转储,就像我在Objective-C库中使用class-dump一样(因为MobileWifi在C中)?
我需要在iphone中打开或关闭wifi.这样做的方法有哪些?或者它被禁止(私人框架)
我正在尝试访问WiFiManager框架(以前的apple80211),但无法找到正确的信息.我知道Apple不允许在应用程序商店中使用私有框架的应用程序,但我正在编写此应用程序供个人使用,所以这对我来说无关紧要.我需要知道的是,我是否仍然可以访问我直接上传到手机的应用程序的WiFiManager框架,那里有关于如何的任何信息?在此先感谢您的帮助.