Я нашел несколько примеров кода, чтобы делать то, что я хочу (проверить доступность), но ни один из них не кажется достаточно точным, чтобы быть полезным для меня. Я не могу понять, почему это не хочет играть хорошо.
У меня в проекте есть reachability.h / m, я делаю
#import <SystemConfiguration/SystemConfiguration.h>
И я добавил фреймворк. У меня тоже есть:
#import "Reachability.h"
в верхней части .m, в котором я пытаюсь использовать достижимость.
Reachability* reachability = [Reachability sharedReachability];
[reachability setHostName:@"http://www.google.com"]; // set your host name here
NetworkStatus remoteHostStatus = [reachability remoteHostStatus];
if(remoteHostStatus == NotReachable) {NSLog(@"no");}
else if (remoteHostStatus == ReachableViaWiFiNetwork) {NSLog(@"wifi"); }
else if (remoteHostStatus == ReachableViaCarrierDataNetwork) {NSLog(@"cell"); }
Это создает у меня всевозможные проблемы. Что я делаю неправильно? Я хороший программист, мне просто нелегко, когда приходит время выяснить, что нужно поместить, где включить то, что я хочу делать, независимо от того, хочу я знать, что я хочу делать, или нет. (Так расстраивает)
Обновление: вот что происходит. Это в моем контроллере просмотра, который у меня
#import <SystemConfiguration/SystemConfiguration.h>
и
#import "Reachability.h"
настроить с помощью. Это моя наименее любимая часть программирования.
(источник: sneakyness.com)
FWIW, мы так и не реализовали это в нашем коде. Две функции, требующие доступа в Интернет (участие в розыгрыше лотереи и покупка DVD), не были основными. Больше ничего не требовалось доступа в Интернет.
Вместо того, чтобы добавлять дополнительный код, мы просто устанавливаем фон обоих интернет-представлений на уведомление, сообщающее пользователям, что они должны быть подключены к интернету, чтобы использовать эту функцию. Это было в теме с остальным интерфейсом приложения, и было сделано хорошо / со вкусом. Они ничего не сказали об этом во время процесса утверждения, однако мы получили личный телефонный звонок, чтобы убедиться, что мы раздаем предметы, которые действительно имеют отношение к фильму. Согласно их обычно расплывчатому соглашению, в противном случае вам не разрешат проводить розыгрыши.
Я также думаю, что это более строго придерживается их идеологии «используйте вещи только в том случае, если они вам абсолютно необходимы».