热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CNCopyCurrentNetworkInfo与iOS13

如何解决《CNCopyCurrentNetworkInfo与iOS13》经验,为你挑选了1个好方法。

Apple更改了有关iOS 13中WiFi的一些内容。如果要使用CNCopyCurrentNetworkInfo,则您的应用程序需要具有以下任一功能

具有访问位置权限的应用

您的应用是当前启用的VPN应用

您的应用通过NEHotspotConfiguration配置了设备当前正在使用的WiFi网络

资料来源:WWDC 19会议713

我正在使用NEHotspotConfiguration配置网络,但这样做后无法再获取当前的SSID。

以下代码在iOS 12上运行良好:

/// retrieve the current SSID from a connected Wifi network  
private func retrieveCurrentSSID() -> String? {  
    let interfaces = CNCopySupportedInterfaces() as? [String]  
    let interface = interfaces?  
        .compactMap { [weak self] in self?.retrieveInterfaceInfo(from: $0) }  
        .first  

    return interface  
}  

/// Retrieve information about a specific network interface  
private func retrieveInterfaceInfo(from interface: String) -> String? {  
    guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as? [String: AnyObject],  
        let ssid = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String  
        else {  
            return nil  
    }  
    return ssid  
} 

在iOS 13中,CNCopyCurrentNetworkInfo始终返回nil。

我的应用程序具有访问WiFi信息功能集。

谢谢你的帮助!



1> Robbie Trenc..:

正如我在Apple开发者论坛上所说,CNCopyCurrentNetworkInfo现在的使用受到限制。

查看WWDC 19会议713,网络方面的进展,第2部分(可能是演示过程的75%)。CNCopyCurrentNetworkInfo现在仅在以下三种情况下可用于您的应用程序:

具有访问位置权限的应用

您的应用是当前启用的VPN应用

您的应用通过NEHotspotConfiguration配置了设备当前正在使用的WiFi网络

如果您不满足这些条件中的至少一项,CNCopyCurrentNetworkInfo则始终会nil在iOS 13中返回。

更新:从iOS 13 Developer Beta 6开始,Apple终于更新了文档以记录更改。


我遇到了同样的问题。我遇到了“具有访问位置许可权限的应用”(如果这意味着“核心位置”始终是授权的),但仍然无法从通话中获得“零”。我只是意识到我缺少https://developer.apple.com/documentation/systemconfiguration/1614126-cncopycurrentnetworkinfo中所述的“访问Wi Fi信息功能”。
尽管已将_location权限_设置为_always_且Wi-Fi信息功能在...上,但我仍然无法从CNCopyCurrentNetworkInfo中获取任何信息...直到iOS 13正常工作
感谢您的答复。但这正是我上面引用的内容。我确实满足其中一项要求。我使用NEHotspotConfiguration连接到网络。成功后,我将使用上面发布的代码开始检查当前的SSID。之所以这样做,是因为我需要知道加入过程是成功的,因为我们没有从NEHotspotConfiguration那里得到回调来告诉我们。检查时,如果找不到所需的网络连接,我会重试几次几次调用retrieveCurrentSSID并超时
推荐阅读
author-avatar
金色阳光CC
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有