No estoy seguro de si esto es posible, pero tengo este escenario.
Tengo un sitio web que se muestra en mi UIWebView que tiene el enlace establecido en un UISegmentedController. El sitio web puede detectar si estás conectado a wifi o en la red 3g.
Ahora, el controlador segmentado apunta a 2 páginas diferentes: 1 - Una pantalla de inicio de sesión compatible con iPhone 2 - La página de inicio, una vez que haya iniciado sesión.
Ahora aquí está la pregunta:
¿Puedo programar mi aplicación para que detecte si es para WIFI o 3G (sé que puede hacer esto), pero luego, según la respuesta, vaya al segmento 1 o 2
Algo así:
if (iPhone device is on 3g) {
Go to Segment 1;
} else {
Go to Segment 0;
}
ios
objective-c
wifi
reachability
3g
jwknz
fuente
fuente
Respuestas:
Usando el código que Apple ha proporcionado aquí
fuente
[reachability stopNotifier]
después de tener el estado?reachability
saldría del alcance y se desasignaría al final del método ystopNotifier
se llamaría implícitamente.ReachableViaWifiNetwork
Si no desea importar la biblioteca de accesibilidad o tratar con notificadores, puede usar este método sincrónico simple:
fuente
Importe la accesibilidad de Apple y pruebe esto,
Referencias (los enlaces pueden romperse en el futuro):
¿Cuál es la diferencia entre CDMA y WCDMA network sim?
¿Qué es "EV-DO Rev. A"?
fuente
Hice una envoltura de accesibilidad basada en bloques bastante simple que elimina todo el código de accesibilidad de tipo C obsoleto, vertido en una forma mucho más Cocoa.
Uso como:
Consulte Accesibilidad con bloques para uso diario en el blog eppz! O cómprelo directamente desde la accesibilidad de eppz! En GitHub .
Es también trabaja con direcciones IP , que resultó ser una característica de accesibilidad envoltorio bastante raro.
fuente
Cuando use iOS 12 o más reciente, puede usar en
NWPathMonitor
lugar de laReachability
clase prehistórica :fuente
Reachability.reachabilityWithHostName
?Para rapidez podemos usar:
fuente
El método de clase es el siguiente
fuente
Para comprobar si estás en una wifi, esto te ahorra la costosa comprobación de hacer una conexión. Busque ifa_name "bridge" para comprobar si se comparte Internet.
fuente
Si está usando Xamarin o Monotouch, puede usar la clase adaptada de Alcance del repositorio de Xamarin GitHub:
https://github.com/xamarin/monotouch-samples/blob/master/ReachabilitySample/reachability.cs
Así que agrégalo a tu proyecto y llama
Reachability.InternetConnectionStatus()
fuente