首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone Wifi Scan Stumbler

iPhone Wifi Scan Stumbler
EN

Stack Overflow用户
提问于 2012-07-26 07:23:52
回答 1查看 3.5K关注 0票数 2

我正在尝试使用这里的SOLStumbler:Accessing & Using the MobileWiFi.framework来扫描wifi网络。我知道苹果并不支持这种做法,但这是出于教育目的和实验目的。我将以下文件添加到我的应用程序中,它可以很好地编译,但它总是带着一个错误代码退出。(作为".m“文件的一部分。)有谁知道怎么让它工作吗?

SOLStumbler.h

SOLStumbler.m

SOLStumbler.m的这一部分总是输出一个字母错误。通常是e,但有时是u

代码语言:javascript
复制
libHandle = dlopen("/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager", RTLD_LAZY);

    char *error;
    if (libHandle == NULL && (error = dlerror()) != NULL)  {
            NSLog(@"%c",error);
            exit(1);
    }

我的ViewController代码:

代码语言:javascript
复制
#import "SOLStumbler.h"

-(void)viewDidLoad{
    SOLStumbler *networksManager = [[SOLStumbler alloc] init];      
    [networksManager scanNetworks]; 
    NSLog(@"%@", [networksManager description]);
    [networksManager release];  
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-28 08:32:53

您尝试使用的SOLStumbler代码非常旧。这些东西(例如、WiFiManager、)是在私有框架中。这意味着苹果可以,而且经常会改变它,或者在操作系统版本之间移动。

我想你现在用的是iOS 5吧?

我登录了我的iOS 5手机,实际上,

代码语言:javascript
复制
/System/Library/SystemConfiguration/WiFiManager.bundle/

不存在。这就是你的代码失败的原因。

Have a look at this useful thread.

看起来您现在可以找到等效的(?)IPConfiguration框架中的函数。尝试以下代码:

代码语言:javascript
复制
libHandle = dlopen("/System/Library/SystemConfiguration/IPConfiguration.bundle/IPConfiguration", RTLD_LAZY);

我在一部越狱的iOS 5.0.1手机上运行了它,它工作了(加载了dylib并找到了一些Apple80211函数)。从我链接的那个帖子来看,看起来你可能需要在越狱手机上的/Applications中安装这个程序,以便完全工作。或者,可能需要在沙盒应用程序中添加一些权限。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11660169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档