Определить, находится ли iPhone в режиме полета?

Мне нужен способ определить, находится ли iPhone в режиме полета или нет, я провел небольшое исследование и обнаружил:

iphone как проверить режим полета?

Что не работает, также я знаю, что могу настроить SBUsersNetwork для отображения предупреждения в режиме полета, но он попросит пользователя включить WIFI, но моему приложению требуется, чтобы пользователь использовал 3G, а WIFI просто не работает, так что есть ли какие-то прямые Вперед, в CoreTelephony что я могу делать свою работу?

Спасибо!


person hzxu    schedule 25.11.2011    source источник


Ответы (2)


В основном: нет. Ты не сможешь это сделать. Что вы можете сделать, так это использовать образцы Reachability от Apple для обнаружения если доступно сетевое подключение.

person Nathanial Woolls    schedule 25.11.2011

Это невозможно сделать с помощью общедоступных API.

В IOS 5.1 вы можете делать следующее, используя недокументированные частные API. Компания Apple не рекомендует это делать и не может быть доставлена ​​в магазин приложений.

Скопируйте и вставьте приведенное ниже содержимое в RadioPreferences.h


@protocol RadiosPreferencesDelegate
-(void)airplaneModeChanged;
@end


@interface RadiosPreferences : NSObject
{
    struct __SCPreferences *_prefs;
    int _applySkipCount;
    id <RadiosPreferencesDelegate> _delegate;
    BOOL _isCachedAirplaneModeValid;
    BOOL _cachedAirplaneMode;
    BOOL notifyForExternalChangeOnly;
}

- (id)init;
- (void)dealloc;
@property(nonatomic) BOOL airplaneMode;
- (void)refresh;
- (void)initializeSCPrefs:(id)arg1;
- (void)notifyTarget:(unsigned int)arg1;
- (void)synchronize;
- (void *)getValueForKey:(id)arg1;
- (void)setValue:(void *)arg1 forKey:(id)arg2;
@property(nonatomic) BOOL notifyForExternalChangeOnly; // @synthesize notifyForExternalChangeOnly;
@property(nonatomic) id <RadiosPreferencesDelegate> delegate; // @synthesize delegate=_delegate;

@end

Тогда попробуйте, как показано ниже.

id rp = [[RadiosPreferences alloc] init];

BOOL status = [rp airplaneMode];

return status;
person user1165756    schedule 14.05.2012
comment
Где находится файл RadioPreferences.h в приложении, чтобы я мог скопировать и вставить в него приведенный выше код, а также нужно ли добавить в проект какой-либо api / framework для доступа к RadioPreferences.h - person Mehul Thakkar; 09.12.2013