Как проверить на локальный Wi-Fi (не только сотовое соединение) использование iPhone SDK?

Как и во многих фреймворках, как только вы «сходите с сетки» и переопределяете CSS по умолчанию, все начнет ломаться влево и вправо. Рамки по своей природе являются жесткими. Если бы вы использовали стиль H1 по умолчанию для Zurb и их классы сетки по умолчанию, веб-страница должна отображаться правильно на мобильных устройствах (т. Е. Реагировать).

Однако, похоже, вам нужны очень большие заголовки 6.2em, что означает, что текст будет уменьшаться, чтобы помещаться внутри мобильного дисплея в портретном режиме. Лучше всего использовать гибкий текстовый плагин jQuery, такой как FlowType и FitText . Если вы хотите что-то легкое, тогда вы можете проверить мой плагин jQuery для масштабируемого текста:

http://thdoan.github.io/scalable-text/

Использование образца:


25
задан Peter Mortensen 14 October 2009 в 02:19
поделиться

3 ответа

Сначала измените метод addressReachable. Вместо

return reachable && (flags & kSCNetworkFlagsReachable);

добавьте следующее:

BOOL isReachable = ((flags & kSCNetworkFlagsReachable) != 0);
BOOL needsConnection = ((flags & kSCNetworkFlagsConnectionRequired) != 0);
return (isReachable && !needsConnection) ? YES : NO;

Это правильный способ проверить наличие доступного соединения. Теперь, если вы хотите четко различать сотовую связь и Wi-Fi, измените свой метод, чтобы он возвращал int, и используйте следующий метод

BOOL isReachable = ((flags & kSCNetworkFlagsReachable) != 0);
BOOL needsConnection = ((flags & kSCNetworkFlagsConnectionRequired) != 0);

if(isReachable && !needsConnection) // connection is available 
{

   // determine what type of connection is available
   BOOL isCellularConnection = ((flags & kSCNetworkReachabilityFlagsIsWWAN) != 0);
   NSString *wifiIPAddress = [self getWiFiIPAddress];

   if(isCellularConnection) 
        return 1; // cellular connection available

   if(wifiIPAddress)
       return 2; // wifi connection available
}
else
   return 0; // no connection at all

. Метод getWiFiIPAddress любезно предоставлен Мэттом Брауном, и его можно найти здесь .

]Еще кое-что. Флаг kSCNetworkReachabilityFlagsIsDirect может сказать вам, проходит ли сетевой трафик через шлюз или приходит напрямую. В некоторых случаях это может быть полезно.

Код на устройстве работает правильно. На симуляторе он объявит, что вы подключены через Wi-Fi, когда вы подключены через кабель Ethernet, и объявит об отсутствии подключения, если вы подключены через Wi-Fi.

30
ответ дан 28 November 2019 в 21:23
поделиться

См. Эту ссылку: http://developer.apple.com/iphone/library/samplecode/Reachability/

. Чтобы загрузить пример кода, вам необходимо зарегистрироваться. , Также и это важно! Reachability API работает для 3.0+ SDK, он падает для более низких версий.

Кстати, с помощью нового HIG все приложения, использующие WiFi-соединение, должны предупреждать пользователя об его отсутствии, т. Е. Если устройство не подключено к Wi-Fi, сообщите об этом пользователю.

4
ответ дан Nava Carmon 28 November 2019 в 21:23
поделиться

Проверьте класс Reachability, предоставленный Apple. Это позволяет вам проверить, какое соединение у устройства в настоящее время есть, между Wi-Fi, сотовой связью или без него. Вы даже можете зарегистрироваться для получения уведомлений при изменении подключения.

К сожалению, на данный момент Google отключен для меня, но поиск в Google «iPhone» даст вам то, что вам нужно.

1
ответ дан iKenndac 28 November 2019 в 21:23
поделиться