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

我已经这样做了。

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

2.在Apple Developer页面中添加启用了Network Extension的标识符App ID。

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

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

5.添加function和库(网络扩展框架)。

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。

为了解决这个问题我另外尝试了这个。

用布尔类型和“true”添加“ com.apple.developer.networking.HotspotHelper

– >结果:我可以构建项目,但我无法在我的设备中安装该应用程序。 我得到这样的错误消息“ excutable与invaild权利签名 ”。

我不知道为什么不工作。

我是否想念使用网络扩展库或NEHotspotHelper进行身份validation? 或者我的来源有任何错误吗?

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

来自apple的消息内容


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

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

问候,

开发者技术支持

Apple全球开发者关系


  1. 您需要在https://developer.apple.com/contact/network-extension上填写问卷,然后您可以使用NEHotspotHelper返回热点列表。
  2. Apple发送此消息: 在此处输入图像描述
  3. 在Apple Developer页面的配置文件设置中,选择展开视图(使用布尔类型添加“com.apple.developer.HotspotHelper”和“true”),如何 在此处输入图像描述