美文网首页
iOS 12 无法获取WiFi名称和地址的解决办法

iOS 12 无法获取WiFi名称和地址的解决办法

作者: ThankShen | 来源:发表于2019-04-30 16:32 被阅读0次

    在iOS12之前我们获取WiFi名称和WiFi地址是OK的,但是升级到iOS12之后发现获取不到了,笔者是在做埋点需求的时候,遇到的此问题。开始我使用的测试机系统是11.3.1的,完全没问题,但是换了一部iPhone X之后就拿不到WiFi名称和地址了,于是开始做调试,之后考虑是不是因为系统版本的原因,后来经过验证确定是系统版本原因。于是就开始做iOS12 的适配,最终找的及解决方法是:看下图

    解决方法

    Xcode -> [Project Name] -> Targets -> [Target Name] -> Capabilities -> Access WiFi Information -> ON   这样就解决了此问题。

    打开步骤

    原因是:CNCopyCurrentNetworkInfo方法在iOS 12中有了变化。通过查看官方文档,发现文档中增加了Important字样的描述:

    官方解释

    意思就是:在iOS 12+中使用此方法需要在Xcode中为应用授权获取WiFi信息的能力。授权后,Xcode会自动在App ID和应用的权限列表中增加获取WiFi信息的权限。

    按照上面的解决方法处理后,后发现工程中的证书文件.entitlements会有变化,多了一个键值对:

    界面显示

    对应的plist是:

    plist文件对应的键值对

    现在就能在iOS 12+中正常获取到WiFi名称和WiFi地址了。

    相关文章

      网友评论

          本文标题:iOS 12 无法获取WiFi名称和地址的解决办法

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