Руководство по доступности для iOS - PullRequest
43 голосов
/ 25 сентября 2010

Кто-нибудь нашел на полпути приличное руководство по реализации Reachability на iOS?

Ответы [ 2 ]

95 голосов
/ 17 октября 2010

Я реализовал Reachability вот так. Загрузите https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html и добавьте Reachability.h и .m в свой проект. Добавьте каркас SystemConfiguration в ваш проект. #import "Reachability.h", где вы хотите его использовать. Используйте этот код.

-(BOOL)reachable {
    Reachability *r = [Reachability reachabilityWithHostName:@"enbr.co.cc"];
    NetworkStatus internetStatus = [r currentReachabilityStatus];
    if(internetStatus == NotReachable) {
        return NO;
    }
    return YES;
}

Когда вы хотите проверить достижимость ...

if ([self reachable]) {
    NSLog(@"Reachable");
}
else {
    NSLog(@"Not Reachable");
}

Вот пример проекта, который я сделал. http://dl.dropbox.com/u/3656129/ReachabilityExample.zip

2 голосов
/ 13 августа 2013

Я думаю, что лучший способ проверить доступность адреса хоста - проверить результаты запроса NSURL.

NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:reqURL]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: theRequest returningResponse: &resp error: &error];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];

Используя этот бит кода, если ваше устройство не может получить доступ к предоставленному URL-адресу, оно предоставляет некоторые выходные данные для переменной ошибки, если оно может получить доступ к запросу URL-адреса, ошибка равна Nil.

Достижимость дает положительный результат, даже если ваши URL-пакеты могут отправляться с вашего устройства и никогда не достигать хост-сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...