我一直在使用NetworkExtension,但我有一些疑问,需要帮助。
在我的权利中设置:

<key>com.apple.developer.networking.HotspotHelper</key>
<true/>
<key>com.apple.external-accessory.wireless-configuration</key>
<true/>


我在Info.plist中设置:

<key>UIBackgroundModes</key>
<array>
<string>network-authentication</string>
</array>


在我的控制器中,我编码:

NSArray * networkInterfaces = [NEHotspotHelper supportedNetworkInterfaces];
NSLog(@"Networks %@",networkInterfaces);


但是回报是零。

我也尝试注册NEHotspotHelp,并且在使用[NEHotspotHelpersupportedNetworkInterfaces]之后,仅返回连接的网络。

NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
[options setObject:@"Hotspot" forKey:kNEHotspotHelperOptionDisplayName];

dispatch_queue_t queue = dispatch_queue_create("com.myapp.wifi", 0);
BOOL returnType = [NEHotspotHelper registerWithOptions:options queue:queue handler: ^(NEHotspotHelperCommand * cmd) {
}];
 NSArray * networkInterfaces = [NEHotspotHelper supportedNetworkInterfaces];
 NSLog(@"Networks %@",networkInterfaces);


是否可以在我的应用程序中列出附近的网络,而无需在“设置/ Wifi”屏幕中输入?

使用[NEHotspotHelper支持的网络接口]时,我可以列出所有附近的网络吗?

非常感谢。

米歇尔·德·索萨(Michel de Sousa)

最佳答案

我已解决问题,但需要在“设置/ Wi-fi”屏幕中输入。

我使用以下方法在应用程序中列出了附近的网络:

NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
[options setObject:@"Connect using my app" forKey:kNEHotspotHelperOptionDisplayName];
dispatch_queue_t queue = dispatch_queue_create("com.myapp.wifi", 0);
[NEHotspotHelper registerWithOptions:optionsqueue:queue handler: ^(NEHotspotHelperCommand * cmd) {
if(cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList){
    for (NEHotspotNetwork *eachNetwork in cmd.networkList) {
        // Get Informations of the network
        NSLog(@"%@", eachNetwork.SSID);
    }
}
}];

关于ios - 有关NetworkExtension iOS 9的疑问,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37330554/

10-10 17:28