Как лучше всего заставить мое приложение iOS работать, когда у пользователя есть ТОЛЬКО интернет

Я работаю над приложением для iOS/iphone, где я хочу, чтобы у пользователей действительно был интернет для работы приложения.

У меня есть некоторые данные, полученные из Интернета, поэтому приложение не будет работать должным образом, если пользователь не подключен.

У меня есть много представлений, где я хочу интегрировать решение для этого.

Я думал о многих способах решить эту проблему, но я не уверен, что есть лучший 1.

  1. Добавление проверки интернета в делегате приложения, завершение запуска с параметрами. Проблема -> проверка будет происходить только тогда, когда пользователь впервые откроет приложение, а не когда он вернется, например, после вызова, и произойдет только на rootviewcontroller.

  2. Добавление проверки в представлении будет отображаться для каждого представления. Это работает, и я устанавливаю чеки таким образом, чтобы представление не блокировалось при попытке подключения. Но что, если представление было загружено, а затем пользователь отключился.

Должен ли я реализовать NSTimer, который продолжает проверять наличие Интернета? Если да, не будет ли это слишком тяжелым для приложения? Если нет, что мне делать?

Спасибо.


person user1731068    schedule 30.01.2013    source источник


Ответы (1)


по следующей ссылке объясняется все, что вам нужно знать для проверки доступности Интернета. Достижимость предоставляется Apple с образцом кода. В основном вам не нужно много делать для проверки доступности Интернета, просто посмотрите пример кода, предоставленный яблоком и вы получите то, что ищете. вот ссылка http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

person nsgulliver    schedule 30.01.2013
comment
Да, я знаю, как проверить наличие Интернета, но я спрашиваю, как заставить приложение работать только тогда, когда iphone действительно подключен к Интернету. Должен ли я сделать селектор NSTimer, который постоянно проверяет наличие Интернета? или есть лучшее решение? - person user1731068; 31.01.2013
comment
Вы можете отключить многозадачность, добавив UIApplicationExitsOnSuspend в свой info.plist и установив для него значение true. когда Интернет недоступен, через Reachability вы можете показать всплывающее диалоговое окно, и таким образом вы можете достичь того, что ищете. - person nsgulliver; 31.01.2013
comment
вы также можете использовать exit(0), но это не рекомендуемый подход, перейдите по следующей ссылке, это также может помочь вашему делу ссылка - person nsgulliver; 31.01.2013