无法获取 Wifi 的 SSID ios 12

Unable to get SSID of Wifi ios 12

我无法获取 wifi SSID(wifi 的唯一密钥)。我看过很多答案,但对我没有任何用处。

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

Targets -> Capabilities -> Access WiFi Information -> Enable it to ON

我的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
        }
    }
}

我的 swift 版本是 4.2 并且构建目标版本是 12.1 。我是 IOS 开发的新手。请让我知道我做错了什么。我怎样才能把它改正。

My Xcode version is 10.1 ,There is no option there for Access WiFi Information

那么您的 Xcode 项目、Xcode 或您的开发者资料有问题...

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

I dont have app-store account ,I just created new apple ID

Choosing a Membership/Benefits and resources 下所列,"Advanced App Capabilities" 不适用于 "Sign in with Apple ID"(或免费开发者帐户),这可以解释为什么 "Access WiFi Information" 对您不可用

启用 Wireless Accessory Configuration 后,Xcode 生成 entitlements,其中包括 Wireless Accessory Configuration 在您的项目中。

打印你的 interfaces,它应该包括 en0

CNCopyCurrentNetworkInfoapi说明如下:

Important

To use this function in iOS 12 and later, enable the Access WiFi Information capability for your app in Xcode. When you enable this capability, Xcode automatically adds the Access WiFi Information entitlement to your entitlements file and App ID.

我的工作正常,请确保你的 iphone 上有 wifi 连接,而不是 simulator