如何通过NEHotspotHelper获取WiFi列表(IOS,objective-c)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过NEHotspotHelper获取WiFi列表(IOS,objective-c)相关的知识,希望对你有一定的参考价值。
我已经这样做了。
1.在Apple Developer页面中添加ios证书。
2.在Apple Developer页面中添加启用了Network Extension的标识符App ID。
3.在Apple Developer页面中添加配置文件。
4.创建xcode项目并在Apple开发者页面中键入正确的包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。
为了解决这个问题我另外尝试了这个。
用布尔类型和“true”添加“com.apple.developer.networking.HotspotHelper”
- >结果:我可以构建项目,但我无法在我的设备中安装该应用程序。我得到像这样的错误消息“excutable与invaild权利签名”。
我不知道为什么不工作。
我是否会错过使用网络扩展库或NEHotspotHelper进行身份验证的内容?或者我的来源有任何错误吗?
**在我向Apple申请网络扩展库之后,我从apple获得了这样的消息。
来自apple的消息内容
感谢您请求有关网络扩展框架的信息。请注意,自2016年11月10日起,希望使用App Proxy,内容过滤器或Packet Tunnel API的开发人员不需要此过程。要使用这些服务,请导航至https://developer.apple.com/account/的开发者帐户,并选择您将用于应用程序的应用程序ID的网络扩展功能。
如果您要申请Hotspot Helper API的权利,我们将尽快处理您的请求。
问候,
开发人员技术支持
Apple全球开发者关系
- 您需要在https://developer.apple.com/contact/network-extension完成调查问卷,然后您可以使用NEHotspotHelper返回热点列表。
- Apple发送此消息:
- 在Apple Developer页面的配置文件设置中,选择展开视图(使用布尔类型添加“com.apple.developer.HotspotHelper”和“true”),这个如何
以上是关于如何通过NEHotspotHelper获取WiFi列表(IOS,objective-c)的主要内容,如果未能解决你的问题,请参考以下文章
NEHotspotHelper.register 未收到回调iOS11
如何以编程方式通过 Wifi 获取连接在同一网络上的其他设备的 IP 地址?