ios - 如何使用 NEHotspotHelper(IOS,objective-c)获取可用的 WiFi 列表

标签 ios objective-c certificate xcode8 nehotspothelper

我已经这样做了。

<强>1。在苹果开发者页面添加IOS证书。

<强>2。在 Apple Developer 页面中添加启用了网络扩展的标识符 App ID。

<强>3。在 Apple Developer 页面中添加配置文件。

<强>4。创建 Xcode 项目并输入在苹果开发者页面上创建的正确的包 ID。并签下合适的团队。

<强>5。添加功能和库(网络扩展框架)。

6. 5之后,在我的Xcode工程中自动生成了Entitlement文件。

7.上次我是这样写代码的。

NSLog(@"List Scan START");

NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
    [options setObject:@"Try Here" forKey:kNEHotspotHelperOptionDisplayName];
    dispatch_queue_t queue = dispatch_queue_create("com.miro.wifilist", 0);

    BOOL isAvailable = [NEHotspotHelper registerWithOptions:options queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
        if (cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList ) {
            for (NEHotspotNetwork* network in cmd.networkList) {
                NSLog(@"%@", network.SSID);
            }
        } else {
            NSLog(@"there is no available wifi");
        }
    }];

if (isAvailable) {
    NSLog(@"true");
} else {
    NSLog(@"false");
}

NSLog(@"List scan END");
return @"";

但我无法获取任何 wifi 列表。在我的源代码中,变量“isAvailable”返回 false。

为了解决这个问题,我又尝试了这个。

添加 bool 类型和“true”的“com.apple.developer.networking.HotspotHelper

-> 结果:我可以构建项目,但无法在我的设备上安装该应用程序。我收到类似这样的错误消息“可执行文件已使用无效权利签名”。

我不知道为什么不起作用。

Do I miss something to authenticate to use the Network Extension library or NEHotspotHelper?? Or is there any error in my source??

** 在我向苹果请求网络扩展库后,我从苹果那里得到了这样的消息。

消息内容来自苹果


感谢您索取有关网络扩展框架的信息。请注意,自 2016 年 11 月 10 日起,希望使用 App Proxy、Content Filter 或 Packet Tunnel API 的开发人员无需执行此过程。要使用这些服务,请导航到您的开发者帐户 https://developer.apple.com/account/并为您将用于您的应用的应用 ID 选择网络扩展功能。

如果您申请 Hotspot Helper API 的授权,我们会尽快处理您的请求。

问候,

开发者技术支持

Apple 全局开发者关系


最佳答案

值得强调的是,实际上不可能在 iOS 设备上获取可用 Wifi 热点的列表。请阅读这篇文章:

Apple Developer Forums: List available wifi network

关于ios - 如何使用 NEHotspotHelper(IOS,objective-c)获取可用的 WiFi 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46823754/

相关文章:

objective-c - 无法使用 MPMoviePlayerController 运行视频文件?

android - 更改签名 key ,保留包名

security - 音频文件的数字签名

objective-c - 如何从给定位置获取 NSView

security - 通过 HTTP 传递客户端证书

ios - Swift-应用程序 didFinishLaunchingWithOptions 方法 :

ios - 存在 tabBar 时出现奇怪的定位问题

ios - 如果在不支持facebook的国家使用SLServiceTypeFacebook,SLComposeViewController会导致崩溃吗?

ios - UISearchDisplayController:取消为关闭按钮

ios - PFObject 子类未在解析仪表板中创建新类