如何使用 NEHotspotHelper (IOS, objective-c) 获取可用的 WiFi 列表
How can I get available WiFi list with NEHotspotHelper (IOS, objective-c)
我已经这样做了。
1.在 Apple Developer 页面添加 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。
为了解决这个问题,我又尝试了这个。
添加布尔类型的“com.apple.developer.networking.HotspotHelper”和"true"
-> 结果:我可以构建项目,但无法在我的设备上安装该应用程序。我收到这样的错误消息“可执行文件已使用无效权利签名”。
我不知道为什么不起作用。
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/ 和 select 您将用于您的应用程序的应用程序 ID 的网络扩展功能。
如果您请求 Hotspot Helper API 的授权,我们将在方便时尽早处理您的请求。
此致,
开发者技术支持
Apple 全球开发者关系
- 您需要在 https://developer.apple.com/contact/network-extension 完成问卷调查,然后您可以使用 NEHotspotHelper return 热点列表。
- Apple 发送此消息:
- 在 Apple Developer 页面的配置文件设置中,展开视图(添加 "com.apple.developer.HotspotHelper" 布尔类型和 "true"),这是如何
值得强调的是,实际上不可能在 iOS 设备上获取可用 Wifi 热点的列表。请阅读此 post:
我已经这样做了。
1.在 Apple Developer 页面添加 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。
为了解决这个问题,我又尝试了这个。
添加布尔类型的“com.apple.developer.networking.HotspotHelper”和"true"
-> 结果:我可以构建项目,但无法在我的设备上安装该应用程序。我收到这样的错误消息“可执行文件已使用无效权利签名”。
我不知道为什么不起作用。
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/ 和 select 您将用于您的应用程序的应用程序 ID 的网络扩展功能。
如果您请求 Hotspot Helper API 的授权,我们将在方便时尽早处理您的请求。
此致,
开发者技术支持
Apple 全球开发者关系
- 您需要在 https://developer.apple.com/contact/network-extension 完成问卷调查,然后您可以使用 NEHotspotHelper return 热点列表。
- Apple 发送此消息:
- 在 Apple Developer 页面的配置文件设置中,展开视图(添加 "com.apple.developer.HotspotHelper" 布尔类型和 "true"),这是如何
值得强调的是,实际上不可能在 iOS 设备上获取可用 Wifi 热点的列表。请阅读此 post: