Как часто iPhone 4 ищет услугу передачи данных после ее потери? - PullRequest
2 голосов
/ 03 октября 2011

Долгое время читатель, впервые спрашивающий.

Я программирую приложение для iPhone, которое должно обрабатывать входящие и исходящие данные телефона с некоторой элегантностью.Я могу настроить Reachability с уведомлениями, чтобы выяснить, когда он теряется или возвращается, но мне было бы полезно узнать, как часто радиостанции ищут сигнал - и с течением времени эта скорость замедляется?Кроме того, могу ли я что-нибудь сделать программно (например, пинговать сервер, когда я знаю, что у меня нет покрытия), чтобы ускорить его?

Время автономной работы для меня не особо важно, и я не буду развертывать его через iTunes.

1 Ответ

1 голос
/ 03 октября 2011

То, что вы хотите, возможно.Сначала получите Код доступности от Apple .Затем вам нужно написать checkNetworkStatus реализацию.Здесь приходят уведомления -

#import "Reachability.h"

- (void)checkNetworkStatus:(NSNotification *)notice
{
    // called after network status changes
    NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];

    switch(internetStatus)
    {
        case NotReachable:
        {
            self.internetActive = NO;
            break;
        }
        case ReachableViaWiFi:
        {
            self.internetActive = YES;
            break;
        }
        case ReachableViaWWAN:
        {
            self.internetActive = YES;
            break;
        }
    }

    NetworkStatus hostStatus = [hostReachable currentReachabilityStatus];
    switch (hostStatus)
    {
        case NotReachable:
        {
            self.hostActive = NO;
            break;
        }
        case ReachableViaWiFi:
        {
            self.hostActive = YES;
            break;
        }
        case ReachableViaWWAN:
        {
            self.hostActive = YES;
            break;
        }
    }
    return;
}

Теперь вам нужно запустить уведомления -

-(void)viewWillAppear:(BOOL)animated
{
    //NSLog(@"View Will Appeared!!");

    // check for internet connection
    [[NSNotificationCenter defaultCenter] addObserver:self 
                                             selector:@selector(checkNetworkStatus:) 
                                                 name:kReachabilityChangedNotification 
                                               object:nil];
    internetReachable = [[Reachability reachabilityForInternetConnection] retain];
    [internetReachable startNotifier];

    // check if a pathway to a random host exists
    hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];
    [hostReachable startNotifier];

    // now patiently wait for the notification
    return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...