4

ブール変数で機内モードのオンまたはオフを確認したいと思います。例えば ​​:

Bool airplaneMode = airplanemode;

if(airplaneMode)
{
     NSLoag(@"Airplane mode on");
}
else
{
    NSLoag(@"Airplane mode Off");
}

ネットワークが利用可能かどうかを確認したくありません。機内モードのオンまたはオフを確認するだけで十分です。

4

2 に答える 2

1

私の知る限り、機内モードがオンになっているかどうかを判断する組み込みの API はありません。アプリで必要なものに応じて、それぞれのサービスが利用可能かどうかを確認する必要があります。

たとえば、GPS の場所が必要な場合は、GPS の場所が利用可能かどうかを確認してから、さまざまなケースを処理できます。ネットワーク接続と、機内モードがオンのときに無効になる他のすべてのサービスについても同じです。

Rechabilityは、ネットワーク接続を確認するための 1 つの例です。

于 2015-06-26T07:49:01.073 に答える
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];
于 2015-06-26T07:53:45.380 に答える