Xamarin.iOS でインターネット通信が可能かを取得する

Xamarin.iOS で、「端末からインターネット通信が可能か?」を調べたい。

Objective-C だと Reachability、swift だと Reachability.swift を使うようだけど、 Xamarin.iOS ではどうするか?

Bindingライブラリがあるのかな?と思ったら、サンプルで C# のソースコードが提供されていた。

reachability.cs がそれ。 (名前から察して Reachability.swift を C# で書きなおしたもの?詳しくは見てないけど。)

で、このサンプルの Reachability を使うと、以下のような感じで、「インターネット通信が可能か?」を調べられる。

public bool IsNetworkAvailable
{
    get
    {
        return Reachability.InternetConnectionStatus() != NetworkStatus.NotReachable;
    }
}

WiFi とかセルラーとか細かいステータスもあるので、あとはコードを見てください。