在IOS 12- Xamarin上获取CONNECTED WIFI的SSID

时间:2018-09-27 14:38:01

标签: ios visual-studio xamarin xcode10 ssid

我可以将已连接的wifi的ssid接到我的iPhone。安装Xcode 10并更新Mac和Visual Studio 2017的Visual Studio之后,它返回一个空的ssid。

这是我获取ssid的代码:

        public override string GetCurrentWiFi()
    {
        String ssid = "";
        try
        {
            string[] supportedInterfaces;
            StatusCode status;
            if ((status = CaptiveNetwork.TryGetSupportedInterfaces(out supportedInterfaces)) != StatusCode.OK)
            {

            }
            else
            {
                foreach (var item in supportedInterfaces)
                {
                    NSDictionary info;
                    status = CaptiveNetwork.TryCopyCurrentNetworkInfo(item, out info);
                    if (status != StatusCode.OK)
                    {
                        continue;
                    }
                    ssid = info[CaptiveNetwork.NetworkInfoKeySSID].ToString();
                }
            }
        }
        catch
        {

        }
        return ssid;
    }

我尝试为iOS 12应用添加“访​​问WiFi信息”权利,如此处所述,但该应用仍然得到一个空的ssid:https://forums.xamarin.com/discussion/139476/adding-access-wifi-information-entitlement-for-ios-12-apps

如果有人能帮助我,我会很感激。

已解决:我为Apple ID应用了Access WIFI Information。然后,我再次重新生成了Provisioning配置文件,并在Xcode中将其打开。不要忘记在ios捆绑签名中的“自定义娱乐”中添加Entitlements.plist。现在它可以正常工作了。

1 个答案:

答案 0 :(得分:5)

要在iOS 12及更高版本中使用此功能,请为您的应用启用访问WiFi信息功能。enter image description here

因此,您必须在appid中选中“访问WiFi信息”。

enter image description here