Обнаружение интернет-соединения iPhone SDK
Я работаю над iPhone- приложением, которое делает несколько звонков на веб-службы. Я разместил это приложение в магазине Apple, но оно было отклонено (и это правильно), поскольку сообщение об ошибке не было отображено пользователю, если нет подключения к Интернету. Поскольку, очевидно, приложение не будет работать без него.
Поэтому я просто хотел узнать, как это лучше всего достичь? Я предполагаю, что что-то нужно использовать в методе viewDidLoad
который viewDidLoad
окно с предупреждением, в котором говорится что-то вроде «Вам нужно подключение к Интернету для использования этого приложения».
Любые идеи были бы хорошы.
- NSMutableArray addObject не влияет на счет?
- UIScrollView не прокручивается после обновления до iOS7 / xcode 5
- Как проверить программно, если приложение установлено?
- Как распознать салфетки во всех четырех направлениях?
- Удалить HTML-tags из NSString на iPhone
- Проблема UITableView при использовании отдельного делегата / источника данных
- Когда происходит освобождение связанного объекта?
- Простое обнаружение движения iPhone
- Добавление изображений в кнопки UIActionSheet, как в UIDocumentInteractionController
- Создайте случайную буквенно-цифровую строку в Cocoa
- Регулировка громкости проигрывателя AVPlayer
- Нажмите ViewController справа налево с помощью UINavigationController
- Как я могу получить объект NSDate на сегодня в полночь?
Если ваше приложение должно иметь доступ к сети, самым простым способом является добавление следующих параметров в ваш info.plist в виде логических значений.
-
SBUsesNetwork – убедитесь, что у устройства активное соединение(Edit: неприменимо, это похоже на частный API, который был найден в какой-то момент. Это не в документации разработчика Apple.) - UIRequiresPersistentWiFi – Обеспечивает подключение устройства через WiFi
Если ваш выбор не соответствует действительности, пользователю при представлении заявки будет представлено соответствующее сообщение. Лучше всего это сообщение из ОС и, следовательно, локализовано.
Если ваше приложение не может загружать данные с веб-сайта во время работы (потеря сигнала, сайт вниз), вы все равно должны предупреждать пользователя, хотя и не просто вращаться на неопределенный срок.
Apple Developer Connection имеет пример приложения ( Reachability ), в котором используется инфраструктура конфигурации системы для определения статуса сети. Он расскажет вам, есть ли у вас Wi-Fi, EDGE / 3G или нет подключения к Интернету.
Вы должны использовать части этого кода в своем приложении для определения состояния сети, а затем предоставлять сигналы интерфейса, если соединение недоступно, например, UIAlertView .
Предупреждающее слово: остерегайтесь SBUsesNetwork. Я лично хотел бы узнать, откуда взялась SBUsesNetwork, потому что она не упоминается нигде в документах Apple, которые я могу найти. Когда я добавляю ключ к plist моего приложения (как логическое) и устанавливаю в true, это, похоже, не влияет на поведение моего приложения – я не получаю предупреждения о режиме полета, независимо от того, начинаете ли вы приложение заново или перед тем, как предыдущий запуск, который был основан.
Мое приложение имеет UIRequiresPersistentWifi, установленное в true, которое, как представляется, также делает работу, которую люди считают SBUsesNetwork (плюс другие вещи!).
(Я запускаю iOS4.2.1 на iPhone 4, XCode 3.2.5 64 бит).