Подтвердить что ты не робот

Руководство по достижимости для iOS

Кто-нибудь нашел половину достойного руководства по внедрению Reachability на iOS?

4b9b3361

Ответ 1

Я реализовал 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

Я думаю, что лучший способ проверить доступность адреса хоста - проверить результаты запроса 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-пакеты могут маршрутизироваться с вашего устройства и никогда не доходят до хост-сервера.