我无法获取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开发非常陌生。请让我知道我在做什么错。我该怎么做。
答案 0 :(得分:2)
我的Xcode版本是10.1,那里没有用于访问WiFi信息的选项
然后您的Xcode项目,Xcode或您的开发人员资料有问题...
确保您的项目使用最新的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连接。