Мне нужно убедиться, что входящие телефонные звонки не могут прервать записи, которые делают мои клиенты, поэтому я предлагаю им перейти в режим полета, но при этом включить Wi-Fi.Описанный выше метод от AlBeebe не работал для меня на iOS 8.1.3, но если было найдено это решение, которое должно работать в iOS 7 и более поздних версиях:
Вы должны добавить и импортировать CoreTelephony.framework.
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>
Определите свойство в вашем классе, если вы хотите отслеживать изменения
@property (strong, nonatomic) CTTelephonyNetworkInfo* networkInfo;
Инициируйте CTTelephonyNetworkInfo
:
self.networkInfo = [[CTTelephonyNetworkInfo alloc] init];
NSLog(@"Initial cell connection: %@", self.networkInfo.currentRadioAccessTechnology);
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(radioAccessChanged) name:CTRadioAccessTechnologyDidChangeNotification object:nil];
И тогда вы получите обратный вызов, когда оноизменения:
- (void)radioAccessChanged {
NSLog(@"Now you're connected via %@", self.networkInfo.currentRadioAccessTechnology);
}
Значения для currentRadioAccessTechnology
определены в CTTelephonyNetworkInfo.h, и вы получите значение null / nil, если нет соединения с вышкой сотовой связи.
Здесь янашел это: http://www.raywenderlich.com/48001/easily-overlooked-new-features-ios-7