一、简介
首先放上苹果官方文档:https://developer.apple.com/reference/networkextension/nehotspothelper
NEHotspotHelper 是 NetworkExtension.framework中与wifi连接相关的一个功能类。
1.+ supportedNetworkInterfaces
可以获取到当前扫描到的WIFI列表,包含SSID,加密方式,信号强度信息。
2.+ registerWithOptions:queue:handler:
注册当前app成为一个wifi辅助管理者,可以对指定的wifi,进行密码导入,并作字符串标记。
二、使用步骤
第一部分(权限申请)
1.向苹果官方邮箱发权限申请邮件,使用自己的开发者账号邮箱申请,即代表所在的开发团队申请
2.邮件内容需要简单介绍APP的使用场景,以及为什么要使用NEHotspotHelper。
英文水平渣,大概看看就好。
3.发送完,就会收到一封苹果的回复,这时候去访问提示的那个网址,填写对应的权限申请信息。
4.访问https://developer.apple.com/contact/network-extension/,登入自己开发账号,会有自己和所在开发团队的信息
5.填写对应的App信息,然后send。
6.邮箱会收到信息确认邮件,核实一下刚才填写的信息。如果没问题,就等大约三周时间,等苹果官方回复。
7.我这次 6月15申请,7月1号收到申请通过的邮件
8.去开发者中心配置开发证书,把Wireless Accessory Configuration,iCloud配置进去。
注意:配置文件,必须新建,在之前已存在的修改,后面工程运行会提示证书权限不匹配。
第二部分(项目工程配置)
1.Target - Capabilities 开启iCloud 和 Wireless Accessory Configuration
2.上述步骤完成,工程会自动生成一个 .entitlements 权限文件,需要手动添加一项:com.apple.developer.networking.HotspotHelper ,设置它的Bool值为YES
3.在项目中配置info.plist文件
UIBackgroundModels 数组中增加 network-authentication
4.使用NEHotspotHelper
程序后台运行,进入系统WIFI设置页时,就会走NEHotspotHelperHandler回调,对代码中设置的网络,会进行密码填充和标记。
原文:http://blog.csdn.net/toto18369905359/article/details/52622115