Достижимость - странная проблема - PullRequest
4 голосов
/ 26 декабря 2011

Reachability *r = [Reachability reachabilityWithHostName:@"www.google.com"];

Эта строка отлично работает на устройстве, но на симуляторе я получаю сбой:

* Завершение работы приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '+ [Reachability достижимостьWithHostName:]: нераспознанный селектор отправлен в класс

Кто-нибудь знает почему?

Ответы [ 2 ]

9 голосов
/ 07 августа 2013

У меня была почти такая же проблема, за исключением того, что компоновщик не связывал Reachability после того, как я добавил его через модуль.

internetReachable = [Reachability reachabilityWithHostName:@"www.google.com"];

В этой строке компилятор выдавал ошибку «Не известен метод класса для селектора достижимостиWithHostName:».

Я пытался прочитать достижимость, попытался очистить проект, ничего не помогло.Тогда я просто попытался переписать эту строку, и она скомпилирована!

internetReachable = [Reachability reachabilityWithHostname:@"www.google.com"];

И теперь я понимаю, почему это работает.Потому что мой старый код был взят из другого проекта с другой версией Reachability и селектор был с «HostName», а новый с «Hostname».

Перед переписыванием я проверял, есть ли у Reachability этот метод, и мне показалось, что он есть, и я не мог понять проблему.Оказалось, что я не заметил этого небольшого изменения в одной букве!

3 голосов
/ 26 декабря 2011

решено, я обновлял Reachability, я искал в интернете и обнаружил, что где-то это было у кого-то раньше, и просто удалите фреймворк конфигурации системы и заново добавьте его, очистите проект, а затем снова соберите, и он будет отлично работать на симуляторе и устройстве

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