无法获取Wifi ios 12的SSID

无法获取Wifi ios 12的SSID,ios,wifi,ios12,swift4.2,Ios,Wifi,Ios12,Swift4.2,我无法获取wifi SSID(wifi的唯一密钥)。我看到了很多答案,但没有一个对我有用 我发现最常见的答案是在Xcode中,在 目标->功能->访问WiFi信息->使其能够 在 我的Xcode版本是10.1,没有访问WiFi信息的选项。因此我打开了无线附件配置 extension UIDevice { public var SSID: String?{ get { guard let interfaces = CNCopySupportedIn

我无法获取wifi SSID(wifi的唯一密钥)。我看到了很多答案,但没有一个对我有用

我发现最常见的答案是在Xcode中,在

目标->功能->访问WiFi信息->使其能够 在

我的Xcode版本是10.1,没有访问WiFi信息的选项。因此我打开了无线附件配置

extension UIDevice {

    public var SSID: String?{
        get {
            guard let interfaces = CNCopySupportedInterfaces() as? [String] else { return nil }
            let key = kCNNetworkInfoKeySSID as String
            for interface in interfaces {
                guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as NSDictionary? else { continue }
                return interfaceInfo[key] as? String
            }
            return nil
        }
    }
}
我的代码是

extension UIDevice {

    public var SSID: String?{
        get {
            guard let interfaces = CNCopySupportedInterfaces() as? [String] else { return nil }
            let key = kCNNetworkInfoKeySSID as String
            for interface in interfaces {
                guard let interfaceInfo = CNCopyCurrentNetworkInfo(interface as CFString) as NSDictionary? else { continue }
                return interfaceInfo[key] as? String
            }
            return nil
        }
    }
}
我的swift版本是4.2,构建目标版本是12.1。我对IOS开发非常陌生。请让我知道,我做错了什么。我如何才能纠正它

我的Xcode版本是10.1,没有访问WiFi信息的选项

然后,您的Xcode项目、Xcode或您的开发人员配置文件都有问题

确保您的项目使用最新的Xcode配置进行更新(通常,我只是构建项目并检查警告)

我没有应用商店帐户,我只是创建了新的苹果ID


如下面所列,“高级应用程序功能”不可用于“使用Apple ID登录”(或免费开发者帐户),这可能解释了启用无线附件配置后“访问WiFi信息”不可用于您的原因,Xcode生成项目中包含无线附件配置的
权利

打印您的
接口
,它应该包括
en0

CNCopyCurrentNetworkInfo
api说明如下:

重要信息

要在iOS 12及更高版本中使用此功能,请在Xcode中为应用程序启用访问WiFi信息功能。当您启用此功能时,Xcode会自动将访问WiFi信息权限添加到您的权限文件和应用程序ID中


我的工作正常,请确保您的
iphone上有wifi连接,而不是
模拟器

谢谢您的回复。我已经检查了Xcode版本,它与您的版本相同。没有收到任何警告。我还创建了一个新项目,没有访问WiFi信息。您有付费开发人员帐户吗?2周前从appstore下载了此Xcode。。我没有app store帐户,我刚刚创建了新的apple IDSo,那么你没有付费开发者帐户吗?这可能是对免费帐户的限制。你可以登录developer.apple.com并检查identifiers->app ids下面列出的应用程序权限。谢谢,你是对的,要获得ssid信息,你需要支付开发人员帐户。我确实打印了界面的include en0,ssid=en0吗?在interfaces
中逐步调试接口的
,CNCopyCurrentNetworkInfo是否返回字典?我的看法如下:3个要素▿ 0:2个元素-键:SSIDDATA-值:▿ 1:2元素-键:BSSID-值:74:ea:cb:d7:8c:2▿ 2:2元素-key:SSID-value:qiyi private pki(5G)No-its不作为字典返回:您的iphone是否连接了有效的wifi?感谢man的帮助。我的问题通过使用付费开发者帐户解决