Flutter IOS 使用连接或 wifi 插件读取 wifi 名称

Rob*_*b C 3 connectivity wifi ios flutter

这个问题与this question类似,但略有不同。

我正在尝试使用Connectivity Plugin检索我当前连接的 wifi 网络的名称。

这个答案在 android 中非常有效,虽然听起来它应该适用于 iOS,但我遇到了一个例外:

PlatformException(UNAVAILABLE, wifi name unavailable, null)
Run Code Online (Sandbox Code Playgroud)

简单的例子。导致异常的代码(假设我已连接到 wifi,也未使用模拟器):

Connectivity connectivity = Connectivity();
print(await (connectivity.getWifiName()));
Run Code Online (Sandbox Code Playgroud)

我的直觉告诉我这可能与许可有关,但老实说我不确定。

干杯和感谢!

编辑:

我刚刚意识到,上面的异常是由wifi 插件抛出的,我也在试验。

print(await (Wifi.ssid));
Run Code Online (Sandbox Code Playgroud)

连接只是返回空...

Feu*_*Feu 6

我会看看我是否可以在插件的代码中修复它。如果是这样,我会回到这个答案。

但是,就目前而言,ON在 Xcode 上将功能添加到您的项目(或简单地切换它)将做到这一点:(无需更改您的应用程序中的代码)

# on your project folder, run:
open -a xcode ./ios
Run Code Online (Sandbox Code Playgroud)

在 Xcode 12+ 中

在 上Target > Runner > Signing & Capabilities,使用+ Capability按钮将Access WiFi Information功能添加到您的项目中。

添加能力

在较旧的 Xcode 版本中

打开Runner > Capabilities,切换Access WiFi Informationon

看:

打开 WiFi 信息