如何获得带有NEHotspotHelper的WiFi列表(IOS,objective-c)

时间:2017-10-19 06:15:17

标签: ios objective-c certificate xcode8 nehotspothelper

我已经做过了。

1。在Apple Developer页面中添加IOS认证。

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

第3。在Apple Developer页面中添加配置文件。

4。创建xcode项目并键入在Apple开发者页面中创建的正确的包ID。并签署合适的团队。

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

6。 5之后,我的xcode项目中会自动生成权利文件。

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。

要解决此问题,我还尝试了此操作。

添加" com.apple.developer.networking.HotspotHelper "使用布尔类型和" true"

- >结果:我可以构建项目,但我无法在我的设备中安装该应用程序。我收到类似这样的错误消息" 使用invaild权利签署了excutable "。

我不知道为什么不工作。

  

我是否遗漏了使用网络扩展库或NEHotspotHelper进行身份验证的内容?   或者我的来源是否有任何错误?

** 在我向Apple申请网络扩展库后,我从apple获得了这样的消息。

来自苹果的消息内容

感谢您请求有关网络扩展框架的信息。请注意,自2016年11月10日起,希望使用App Proxy,内容过滤器或Packet Tunnel API的开发人员不需要此过程。要使用这些服务,请导航至https://developer.apple.com/account/的开发者帐户,然后选择您将用于应用的应用ID的网络扩展功能。

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

问候,

开发者技术支持

Apple全球开发者关系

2 个答案:

答案 0 :(得分:0)

  1. 您需要在https://developer.apple.com/contact/network-extension完成调查问卷,然后您可以使用NEHotspotHelper返回热点列表。
  2. Apple发送此消息: enter image description here
  3. 在Apple Developer页面的配置文件设置中,采用展开式视图(添加" com.apple.developer.HotspotHelper"使用布尔类型和" true"),如何 enter image description here

答案 1 :(得分:0)

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

Apple Developer Forums: List available wifi network