从iOS 13开始,当我们请求使用NEHotspotConfigurationManager加入WiFi网络时,成功连接后,我们可能会或可能无法使用密钥kCNNetworkInfoKeySSID看到SSID。
我们的应用依靠查看SSID来设置其状态(如果它们已连接到我们的WiFi网络,则显示一个版本,否则显示另一个版本)。
到目前为止,我们已经在使用iOS 13.1的各种设备(iPhone 8 Plus,iPhone 11)上看到了该问题。
设备重新启动可以解决此问题。还有其他人看到过这种行为吗?
答案 0 :(得分:-1)
在iOS13或更高版本上,访问系统策略的网络信息已更改。
这就是我从电子邮件中获得的信息。
尊敬的$ firstName,
正如我们在WWDC19上宣布的那样,我们正在进行更改以进一步保护用户隐私并防止未经授权的位置跟踪。从iOS 13开始,CNCopyCurrentNetworkInfo API将不再返回有效的Wi-Fi SSID和BSSID信息。相反,默认情况下返回的信息将是:
SSID:“ Wi-Fi”或“ WLAN”(对于中国SKU,将返回“ WLAN”) BSSID:“ 00:00:00:00:00:00”
如果您的应用使用此API,我们建议您采用不需要Wi-Fi或网络信息的替代方法。来自CNCopyCurrentNetworkInfo的有效SSID和BSSID信息仍将提供给VPN应用程序,使用NEHotspotConfiguration配置当前Wi-Fi网络的应用程序以及已获得通过位置服务访问用户位置的权限的应用程序。
在最新的iOS 13 beta上测试您的应用,以确保其正常运行。如果您的应用需要有效的Wi-Fi SSID和BSSID信息才能运行,则可以执行以下操作: 对于附件设置应用程序,请使用NEHotSpotConfiguration API,该API现在可以选择传递您的应用程序希望连接的SSID热点的前缀。 对于其他类型的应用,请使用CoreLocation API征求用户的同意以访问位置信息。
通过阅读更新的文档或观看WWDC19中的“网络进步”会话视频来了解更多信息。您也可以提交TSI以获取代码级支持。
最好的问候, 苹果开发人员关系