ブール変数で機内モードのオンまたはオフを確認したいと思います。例えば :
Bool airplaneMode = airplanemode;
if(airplaneMode)
{
NSLoag(@"Airplane mode on");
}
else
{
NSLoag(@"Airplane mode Off");
}
ネットワークが利用可能かどうかを確認したくありません。機内モードのオンまたはオフを確認するだけで十分です。
ブール変数で機内モードのオンまたはオフを確認したいと思います。例えば :
Bool airplaneMode = airplanemode;
if(airplaneMode)
{
NSLoag(@"Airplane mode on");
}
else
{
NSLoag(@"Airplane mode Off");
}
ネットワークが利用可能かどうかを確認したくありません。機内モードのオンまたはオフを確認するだけで十分です。
私の知る限り、機内モードがオンになっているかどうかを判断する組み込みの API はありません。アプリで必要なものに応じて、それぞれのサービスが利用可能かどうかを確認する必要があります。
たとえば、GPS の場所が必要な場合は、GPS の場所が利用可能かどうかを確認してから、さまざまなケースを処理できます。ネットワーク接続と、機内モードがオンのときに無効になる他のすべてのサービスについても同じです。
Rechabilityは、ネットワーク接続を確認するための 1 つの例です。
現在、機内モードがオンになっているかどうかを直接確認するためのパブリック API はありません。
最も近い解決策は、SystemConfiguration フレームワークを使用して、デバイスがネットワークに接続できるかどうかを監視することです。
Reachability クラス (by tonymillion) を使用すると、次のようなことができます
Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];
reach.reachableBlock = ^(Reachability*reach) {
// do something to prevent the app to be used
// NOTE: this block is called on a background thread
// so if you need to change the UI, do
dispatch_async(dispatch_get_main_queue(), ^{
// UI related stuff
});
};
reach.unreachableBlock = ^(Reachability*reach) {
// ok continue using the app
};
[reach startNotifier];