我如何知道ios中的飞行模式打开或关闭

我如何知道ios中的飞行模式打开或关闭,ios,objective-c,iphone,airplane,Ios,Objective C,Iphone,Airplane,我想检查布尔变量上的飞机模式开或关。 例如: Bool airplaneMode = airplanemode; if(airplaneMode) { NSLoag(@"Airplane mode on"); } else { NSLoag(@"Airplane mode Off"); } 我不想检查网络是否可用,我只需要检查飞机模式是否打开 AFAIK,没有内置的api来确定飞机模式是否开启。你必须检查是否有相应的服务可用,这取决于你在应用程序中需要什么 例如,如果您需要

我想检查布尔变量上的飞机模式开或关。 例如:

Bool airplaneMode = airplanemode;

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

我不想检查网络是否可用,我只需要检查飞机模式是否打开

AFAIK,没有内置的api来确定飞机模式是否开启。你必须检查是否有相应的服务可用,这取决于你在应用程序中需要什么

例如,如果您需要GPS位置,可以检查GPS位置是否可用,然后处理不同的情况。网络连接和所有其他在飞行模式打开时禁用的服务也是如此


是检查网络连接的一个示例。

目前没有用于直接检查飞机模式是否打开的公共API

最接近的解决方案是使用SystemConfiguration框架并监控设备是否可以连接到网络

使用可达性类(由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];

苹果没有提供任何api来检查这一点。