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
。
参见:
这个问题与
我正在尝试使用 Connectivity Plugin 检索我当前连接的 wifi 网络的名称。
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
。
参见: