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

Flutter IOS reading wifi name using the connectivity or wifi plugin

这个问题与相似,但略有不同。

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

在 android 中工作得很好,虽然它听起来应该在 iOS 中工作,但我遇到了一个例外:

PlatformException(UNAVAILABLE, wifi name unavailable, null)

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

Connectivity connectivity = Connectivity();
print(await (connectivity.getWifiName()));

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

干杯,谢谢!

编辑:

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

print(await (Wifi.ssid));

简单连接returns null...

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

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

# on your project folder, run:
open -a xcode ./ios

在Xcode12+

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

旧 Xcode 版本

Runner > Capabilities 上,将 Access WiFi Information 切换为 on

参见: