Zaimportowałem Zasięg do mojej aplikacji, a ja mam dla was kilka pytań dotyczących instrukcji. Pozwól mi najpierw wyjaśnić moją aplikację i inne narzędzia.Zasięg pomocy - wykrywanie Wi-Fi
Ta aplikacja komunikuje się z dwiema rzeczami W TYM SAMYM CZASIE, sieci typu ad-hoc i Internetu przez sieć 3G. Uwaga: Sieć ad-hoc NIE jest połączona z Internetem. Działa to doskonale - jest już zaimplementowane i przetestowane cudownie.
Powiedziawszy to, chcę zaimplementować Zasięg, aby wykryć dwie rzeczy.
1) Czy użytkownik jest podłączony do sieci Wi-Fi ad-hoc? (Jeszcze lepiej, jeśli to możliwe, jest wykrywanie, czy jest on podłączony do sieci wifi ad-hoc z prefiksem WXYZ.Na przykład, jeśli są wymienione dwie sieci, jedna nazywa się Linksys, a druga nazywa się WXYZ-Testing_Platform, to wie czy jest podłączony do WXYZ).
2) Czy użytkownik może połączyć się z Internetem przez sieć 3G (lub 2G itp.) I uzyskać dostęp do naszego serwera?
góry dzięki
EDIT DO ZAWIERAJĄ ODPOWIEDŹ dla przyszłych lookers:
za 1), mój kod wygląda następująco:
.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;
}
}
i przez 2) , Zaimportowałem opcję zasięgu i używam tej metody za każdym razem, gdy łączę się z serwerem ... UWAGA: zamień http://www.google.com z informacjami o serwerze
-(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];
}
}
Zajmę się tym teraz, dziękuję! – Baub