首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SWIFT2.0中不使用CaptiveNetwork不推荐的框架获得ssid?

如何在SWIFT2.0中不使用CaptiveNetwork不推荐的框架获得ssid?
EN

Stack Overflow用户
提问于 2015-10-09 14:12:28
回答 1查看 890关注 0票数 3

在另一个问题中发现的解决方案中没有一个在Swift 2中获取SSID有效,因为CaptiveNetwork框架在SWIFT2.0中被弃用

在Swift 1.2中,使用此函数:

代码语言:javascript
复制
    func getSSID() -> String {

    let interfaces = CNCopySupportedInterfaces()
    if interfaces == nil {
        return ""
    }

    //let interfacesArray = interfaces.takeRetainedValue() as! [String]
    let interfacesArray = Array(arrayLiteral: interfaces)
    if interfacesArray.count <= 0 {
        return ""
    }

    let interfaceName = String(interfacesArray[0])
    let unsafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName)
    if unsafeInterfaceData == nil {
        return ""
    }

    let interfaceData = unsafeInterfaceData.takeRetainedValue() as Dictionary!
    print(interfaceData["SSID"], terminator: "")
    return interfaceData["SSID"] as! String
}

但是下面的代码不再起作用了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 19:06:27

据我所知,CaptiveNetwork API在iOS 9中不受欢迎,但仍然可用--因此您仍然应该能够使用它们(这将给您自己带来危险,因为将来的更新可能会使它们不再像预期的那样工作)。如果它们在Swift中不可见,您可以通过ObjC桥接头来实现它们。

这不是我经常使用的领域,但看起来新的Network无论如何都是为了取代CaptiveNetwork。有关文档和WWDC15会话网络扩展与VPN的新进展,请参见网络扩展框架参考

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33040500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档