美文网首页iOS
iOS WiFi内切功能

iOS WiFi内切功能

作者: 隐身人 | 来源:发表于2021-09-04 18:13 被阅读0次

前置条件

1.付费苹果开发者账号
2.开发者中心申请使用Hotspot 和 WiFi information 的权限配置

在开发者中心 配置Hotspot 和 WiFi information 的权限

在Xcode 项目 配置Hotspot 和 WiFi information 的权限

在Xcode 项目 导入相关静态库

代码实现

导入头文件

#import <NetworkExtension/NetworkExtension.h>
#import<SystemConfiguration/CaptiveNetwork.h>

连接WiFi

    //1、app切换连接到对应WiFi:
    NEHotspotConfiguration * conWiFi = [[NEHotspotConfiguration alloc] initWithSSID:@"WiFi名称" passphrase:@"WiFi密码" isWEP:NO];
    
                [[NEHotspotConfigurationManager sharedManager] applyConfiguration:conWiFi completionHandler:^(NSError * _Nullable error) {
                    if (error) {
                        if (error.code == NEHotspotConfigurationErrorAlreadyAssociated) {
                            //已连接
                            NSLog(@"WiFi 连接成功");
                        }
                        else if (error.code == NEHotspotConfigurationErrorUserDenied) {
                            //用户点击取消
                            NSLog(@"WiFi 用户点击取消");
                        }
                        else{
                            NSLog(@"WiFi 错误");
                        }
                    }
                }];

获取配置过的WiFi列表

//2、获取配置过的WIFI列表:
    if (@available(iOS 11.0, *)) {
            [[NEHotspotConfigurationManager sharedManager] getConfiguredSSIDsWithCompletionHandler:^(NSArray * array) {
                NSLog(@"WiFi 列表 %@",array);
            }];
        }

获取已连接WiFi名

//3、获取手机连接的WiFi列表:
    NSLog(@"已连接WiFi-%@",[self obtainWiFiName]);
- (NSString *)obtainWiFiName
{
    NSString *ssid = @"Not Found";
    CFArrayRef myArray = CNCopySupportedInterfaces();

    if (myArray != nil) {

        CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));

        if (myDict != nil) {
            NSDictionary *dict = (NSDictionary*)CFBridgingRelease(myDict);

            ssid = [dict valueForKey:@"SSID"];

        }
    }
    
   return ssid;

}

END

相关文章

  • iOS WiFi内切功能

    前置条件 1.付费苹果开发者账号2.开发者中心申请使用Hotspot 和 WiFi information 的权限...

  • iOS客户端 获取WIFI ssid等信息资料

    iOS Wifi编程要点总结-获取WIFI名和IP iOS客户端公共WIFI解决方案 iOS开发中WiFi相关功能...

  • WiFi

    iOS开发中WiFi相关功能总结 iOS 获取系统wifi列表,wifi信号强度,并给wifi设置密码,标签(副标...

  • iOS

    iOS调用系统功能 [1] 相册、相机 [2] WiFi、BlueTooth

  • WiFi直连总结

    WiFi直连iOS端总结 整体流程 功能概述:客户端通过引导用户输入家庭WiFi名称以及密码,将WiFi信息发送给...

  • iOS12 获取WIFI SSID失败解决办法

    问题前提: iOS12中,通过CNCopyCurrentNetworkInfo来获取WIFI的SSID,结果发现内...

  • 扫描 wifi, 判断 位置

    在ios扫描公共区域内wifi信息中,写了实现wifi扫描的一种方法,但是那种方法扫描出来的wifi信息不全,下面...

  • iOS App内连接WiFi

    背景:给智能设备配置网络,需要直连智能设备发射的Wi-Fi 目前技术:iOS11后苹果提供 NEHotspotC...

  • iOS实现wifi传书功能

    我经常使用「多看」和「掌阅」App 看书,其中有一个共同的功能就是 WiFi 传书,根据 App 的提示在电脑浏览...

  • iOS Wifi 打印

    iOS wifi 打印

网友评论

    本文标题:iOS WiFi内切功能

    本文链接:https://www.haomeiwen.com/subject/odlxwltx.html