Ответ 1
Этот пример именно то, что вам нужно.
Посмотрите на Достижимость. он скажет вам, есть ли у вас какая-либо связь, а затем сообщите, какое у вас есть соединение.
мое приложение обращается к Интернету, и я просто хочу определить, есть ли соединение через Wi-Fi или через сеть передачи данных оператора.
яблоко сделало пример для этого "Достижимости"
https://developer.apple.com/iphone/library/samplecode/Reachability/
Я думаю, что он просто обнаруживает Wi-Fi, а не сеть операторов связи.
может кто-нибудь сказать мне, что лучше всего сделать, чтобы определить, есть ли соединение (любой тип соединения)
Оцените помощь ур!
Этот пример именно то, что вам нужно.
Посмотрите на Достижимость. он скажет вам, есть ли у вас какая-либо связь, а затем сообщите, какое у вас есть соединение.
Пример Reachability может быть излишним, если вы просто хотите определить, подключены ли вы или нет, и какой тип соединения вы используете, если вы подключены. В самом деле, пример также содержит код, показывающий, как настраивать и использовать обратные вызовы, которые уведомляют вас об изменениях состояния.
Для фрагмента исходного кода, в котором вы точно указываете, подключены вы или нет, и какой тип соединения вы используете, вы можете взглянуть на мой ответ на аналогичный вопрос, размещенный .
После того, как вы сделаете запрос на любой веб-ресурс, iPhone использует любое обнаруженное соединение, оно использует wifi (как более высокий приоритет), и если Wi-Fi не подключен, он использует сеть операторов связи. Там нет настроек кода, которые препятствуют сети оператора.
Все, что вам нужно сделать:
Эти методы полезны, но имейте в виду, что путь устройства к Интернету может состоять из нескольких разных типов соединений. Например, iPhone или iPod touch могут использовать Wi-Fi для подключения к мобильной точке доступа, которая, в свою очередь, имеет собственное 3G-соединение. Поэтому небезопасно предполагать, что наличие WiFi-соединения подразумевает более высокую пропускную способность, чем 3G.
Достижимость (как образец кода Apple, так и другой похожий код, и базовая SCNetworkReachability скажет вам, что интернет-доступ отсутствует или вы получите доступ через Интернет через WiFi или что вы получите доступ в Интернет через мобильный данных.
Если у вас есть доступ к WiFi и мобильным данным, он скажет вам "WiFi". Невозможно узнать, какие мобильные данные доступны, когда у вас есть WiFi. (Вы можете легко узнать, что мобильные данные доступны, когда нет WiFi). Вы не можете узнать, включен ли режим полета (который будет отличаться от Wi-Fi и мобильных данных отключен).
Доступная WiFi не гарантирует, что загрузка будет использовать WiFi, а не мобильные данные. Вы можете начать загрузку дома, оставьте минуту спустя, WiFi исчезнет, и iOS с удовольствием продолжит скачивание через 3G. Вы можете установить флаг в вызове загрузки, чтобы запретить 3G. Код ошибки будет -1009 = Нет доступа в Интернет, не упоминается, что 3G был бы доступен.
Используя CTTelephonyNetworkInfo, вы можете узнать, что вы находитесь на устройстве, которое может иметь мобильные данные (а не iPod Touch или iPad без мобильных данных, а в устройстве есть SIM-карта).