public WifiInfo GetCurrentWifiInfo()
{
_semaphore.Wait();
var wifiInfo = new WifiInfo();
try
{
NSDictionary dict;
var status = CaptiveNetwork.TryCopyCurrentNetworkInfo("en0", out dict);
if (status == StatusCode.OK)
{
var bssid = dict[CaptiveNetwork.NetworkInfoKeyBSSID];
var ssid = dict[CaptiveNetwork.NetworkInfoKeySSID];
wifiInfo.Ssid = ssid.ToString();
wifiInfo.Bssid = bssid.ToString();
}
}
catch (EntryPointNotFoundException)
{
// running on sim...
wifiInfo.Ssid = "Simulator";
wifiInfo.Bssid = "Simulator";
}
finally
{
_semaphore.Release();
}
return wifiInfo;
}