I do not know if there has been API updates since I wrote this code but you could try to read the SSID:
/// <summary>
/// Gets the current SSID.
/// </summary>
/// <value>The current SSID.</value>
public string CurrentSSID
{
get
{
NSDictionary dict;
var status = CaptiveNetwork.TryCopyCurrentNetworkInfo ("en0", out dict);
if (status == StatusCode.NoKey)
{
return string.Empty;
}
var bssid = dict [CaptiveNetwork.NetworkInfoKeyBSSID];
var ssid = dict [CaptiveNetwork.NetworkInfoKeySSID];
var ssiddata = dict [CaptiveNetwork.NetworkInfoKeySSIDData];
return ssid.ToString();
}
}
You could also try to use LocalWifiConnectionStatus if that suits your needs better.
https://github.com/XForms/Xamarin-Forms-Labs/blob/master/src/Xamarin.Forms.Labs/Xamarin.Forms.Labs.iOS/Services/Reachability.cs
/// <summary>
/// The local WiFi connection status.
/// </summary>
/// <returns>
/// The <see cref="NetworkStatus"/>.
/// </returns>
public static NetworkStatus LocalWifiConnectionStatus()
{
NetworkReachabilityFlags flags;
return (!IsAdHocWiFiNetworkAvailable(out flags) || (flags & NetworkReachabilityFlags.IsDirect) == 0) ?
NetworkStatus.NotReachable :
NetworkStatus.ReachableViaWiFiNetwork;
}