【问题标题】:Unable to get SSID of Wifi ios 12无法获取 Wifi ios 12 的 SSID
【发布时间】:2019-05-26 18:55:03
【问题描述】:

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

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

Targets -> Capabilities -> Access WiFi Information -> 启用它 开

我的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 开发非常陌生。请告诉我,我做错了什么。我怎样才能使它正确。

【问题讨论】:

    标签: ios wifi ios12 swift4.2


    【解决方案1】:

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

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

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

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

    Choosing a Membership/Benefits and resources 下所列,“使用 Apple ID 登录”(或免费开发者帐户)无法使用“高级应用功能”,这可以解释为什么“访问 WiFi 信息”对您不可用

    【讨论】:

    • 感谢您的回复。我检查了 Xcode 版本,它和你的一样。没有收到任何警告,我也创建了新项目,访问 WiFi 信息不存在
    • 你有付费开发者账号吗?
    • 两周前从 appstore 下载了这个 xcode .. 我没有 app-store 帐户,我刚刚创建了新的 Apple ID
    • 那你还没有付费开发者账号?这可能是对免费帐户的限制。您可以登录 developer.apple.com 并查看标识符 -> 应用 ID 下列出的应用权利
    • 谢谢你是对的,要获得 ssid 信息,你需要有付费开发者帐户
    【解决方案2】:

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

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

    CNCopyCurrentNetworkInfoapi描述如下:

    Important

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

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

    【讨论】:

    • 我打印了接口它的include en0,是SSID = en0吗?
    • 一步步调试for interface in interfaces,CNCopyCurrentNetworkInfo 是否返回字典?我的如下:3个元素▿0:2个元素-键:SSIDDATA-值:▿1:2个元素-键:BSSID-值:74:ea:cb:d7:8c:2▿2 : 2 个元素 - 键 : SSID - 值 : qiyi-private-pki(5G)
    • 不,它不会作为字典返回:
    • 您的 iPhone 是否连接了有效的 wifi?
    • 感谢大佬的帮助。我的问题已通过使用付费开发者帐户解决
    猜你喜欢
    • 2021-10-10
    • 1970-01-01
    • 2022-07-11
    • 2015-06-26
    • 2020-02-01
    • 2021-02-05
    • 2014-10-06
    • 1970-01-01
    • 2014-02-18
    相关资源
    最近更新 更多