Проблемы с доступностью iphone - PullRequest
1 голос
/ 04 февраля 2010

Мое приложение требует подключения к Интернету, поэтому в ApplicationDelegate на applicationDidFinishLaunching я запускаю следующее:

[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];

hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
[hostReach startNotifer];
[self updateInterfaceWithReachability: hostReach];

Но по какой-то причине это, кажется, запускается два раза, поскольку регистрируется следующее:

2010-02-04 14:25:48.004 myApp[201:207] Reachability Flag Status: -- ------- networkStatusForFlags
2010-02-04 14:25:48.240 myApp[201:207] STATUS: Access Not Available
2010-02-04 14:25:48.499 myApp[201:207] Reachability Flag Status: -- ------- networkStatusForFlags
2010-02-04 14:25:48.517 myApp[201:207] STATUS: Access Not Available

Что хорошо, что он работает, но у меня есть предупреждение, чтобы уведомить пользователя об отсутствии соединения, и оно появляется дважды ...

Почему уведомитель о достижимости срабатывает два раза?

1 Ответ

0 голосов
/ 04 февраля 2010

Понятия не имею, почему он появляется дважды. Вы пытались закомментировать звонок на startNotifier? Это может сделать начальную проверку в методе reachabilityWithHostName:.

Это может быть случай, когда обходной путь является наиболее подходящим решением, например:

static bool userNotifiedOfReachability = NO;

...

- (void)updateInterfaceWithReachability:(Reachbility *)reachability {
    if (!userNotifiedOfReachability) {
        // Notify User

        ...

        userNotifiedOfReachability = YES;
    }
}

Это будет уместно для сообщения "пожалуйста, попробуйте запустить приложение позже".

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