无法获取Wifi ios 12的SSID

时间:2018-12-29 06:08:11

标签: ios wifi ios12 swift4.2

我无法获取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
        }
    }
}

我的快速版本是4.2,构建目标版本是12.1。我对IOS开发非常陌生。请让我知道我在做什么错。我该怎么做。

2 个答案:

答案 0 :(得分:2)

  

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

然后您的Xcode项目,Xcode或您的开发人员资料有问题...

WiFi

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

  

我没有应用商店帐户,我刚刚创建了新的Apple ID

Choosing a Membership/Benefits and resources下所列,“高级应用程序功能”不可用于“使用Apple ID登录”(或免费的开发者帐户),这可能解释了为什么“访问WiFi信息”不可用< / p>

答案 1 :(得分:0)

启用Wireless Accessory Configuration后,Xcode会生成entitlements,其中包含项目中的Wireless Accessory Configuration

打印您的interfaces,其中应包含en0

CNCopyCurrentNetworkInfo api描述如下:

Important

  

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

我的设备工作正常,请确保您的iphone而不是simulator上具有wifi连接。