He importado Accesibilidad en mi aplicación, y tengo un par de preguntas prácticas para todos ustedes. Permítanme explicar mi aplicación y otras herramientas primero.Accesibilidad Ayuda - Detección de WiFi
Esta aplicación se comunica con dos cosas AL MISMO TIEMPO, una red ad-hoc e Internet a través de 3G. Nota: La red ad-hoc NO ESTÁ conectada a internet. Esto funciona a la perfección, ya está implementado y lo prueba maravillosamente.
Dicho esto, quiero implementar Reachability para detectar dos cosas.
1) ¿Está el usuario conectado a una red wifi ad-hoc? (Aún mejor, si es posible, es detectar si está conectado a la red wifi ad-hoc con un prefijo de WXYZ. Por ejemplo, si hay dos redes enumeradas, una llamada Linksys y la otra llamada WXYZ-Testing_Platform, sabe ya sea que esté conectado a WXYZ).
2) ¿Puede el usuario conectarse a internet a través de 3G (o 2G, etc.) y acceder a nuestro servidor?
Gracias de antemano
Editar para INCLUYEN RESPUESTA PARA FUTUROS Lookers:
Para 1), mi código es el siguiente:
.h
#import <SystemConfiguration/CaptiveNetwork.h> //for checking wifi network prefix
.m
- (BOOL) connectedToWifi
{
CFArrayRef myArray = CNCopySupportedInterfaces();
// Get the dictionary containing the captive network infomation
CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));
NSLog(@"Information of the network we're connected to: %@", captiveNtwrkDict);
NSDictionary *dict = (__bridge NSDictionary*) captiveNtwrkDict;
NSString* ssid = [dict objectForKey:@"SSID"];
if ([ssid rangeOfString:@"WXYZ"].location == NSNotFound || ssid == NULL)
{
return false;
}
else
{
return true;
}
}
y durante 2) , Importé Accesibilidad y lo tengo usando este método cada vez que voy a conectarme al servidor ... NOTA: reemplace http://www.google.com con la información del servidor
-(void) checkIfCanReachServer
{
UIAlertView *errorView;
Reachability *r = [Reachability reachabilityWithHostName:@"http://www.google.com"];
NetworkStatus internetStatus = [r currentReachabilityStatus];
if(internetStatus == NotReachable) {
errorView = [[UIAlertView alloc]
initWithTitle: @"Network Error"
message: @"Cannot connect to the server."
delegate: self
cancelButtonTitle: @"OK" otherButtonTitles: nil];
[errorView show];
}
}
Voy a ver esto ahora, gracias! – Baub