首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我尝试使用dlopen加载时,WiFiManager.bundle WiFiManager返回NULL,iOS

当我尝试使用dlopen加载时,WiFiManager.bundle WiFiManager返回NULL,iOS
EN

Stack Overflow用户
提问于 2014-04-23 13:07:35
回答 1查看 1K关注 0票数 2

为了便于私人使用,我尝试使用以下代码加载WiFi管理器(iOS 6.1):

代码语言:javascript
复制
    airportHandle = 0;
    libHandle = 0;

    libHandle = dlopen(
                       "/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager"
                       //"/System/Library/SystemConfiguration/IPConfiguration.bundle/IPConfifuration"
                       , RTLD_LAZY);

    if(libHandle != 0)
    {
        disassociate    = (int (*)())dlsym(libHandle,   "Apple80211Disassociate");
        open            = (int (*)(void*))dlsym(libHandle,  "Apple80211Open");
        bind            = (int (*)(void*, NSString*))dlsym(libHandle,   "Apple80211BindToInterface");
        close           = (int (*)(void*))dlsym(libHandle,  "Apple80211Close");
        scan            = (int (*)(void*, NSArray**, void*))dlsym(libHandle,    "Apple80211Scan");
        associate       = (int (*)(void*, void*, NSString*))dlsym(libHandle,    "Apple80211Associate");
        info            = (int (*)(void*, NSDictionary**))dlsym(libHandle,  "Apple80211GetInfoCopy");
        GetPower        = (int (*)(void*, char*))dlsym(libHandle,   "Apple80211GetPower");
        SetPower        = (int (*)(void*, char))dlsym(libHandle,    "Apple80211SetPower");
        listinfo        = (int (*)(void*, NSDictionary**))dlsym(libHandle,  "Apple80211GetIfListCopy");

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

然而,libHandleNULL

我是否需要使用越狱设备,还是没有办法只停留在Private API

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-23 15:37:29

这不是答案,而是要看的方向。

据我所知,苹果公司曾多次(从一个框架到另一个框架)移动WiFi API。因此,很可能这条路径("/System/Library/SystemConfiguration/WiFiManager.bundle/WiFiManager")已经过时了。

您应该能够使用dlopen,即使在没有越狱的iOS设备上也可以获得一个句柄。所以,这不是问题。不过,我不知道你所提及的这些空气污染指数是否不受居留权的保障。

如果您有iOS 6模拟器,我建议您去那里,并尝试grepr并找到这些API的应用程序。

顺便说一下。看看这个问题。他声称他的代码在iOS 6- Iphone 802.11 Scan上工作。

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

https://stackoverflow.com/questions/23245276

复制
相关文章

相似问题

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