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

Требуется версия для повышения производительности для ARC в iOS5

Используя код Apple Reachability в iOS5, я получаю кучу ошибок компиляции, как показано ниже. Любые идеи о том, что здесь происходит? Я использую ARC, поэтому я немного изменил стандартный код, чтобы удалить autorelease/retain и NSAutoReleasePool.

Undefined символы для архитектуры armv7:

"_ SCNetworkReachabilityCreateWithAddress", на который ссылаются:       + [Достижимость достижимостиWAdAddress:] в Reachability.o

"_ SCNetworkReachabilityCreateWithName", на который ссылаются:        + [Достижимость достижимостиWithHostName:] в Reachability.o

"_ SCNetworkReachabilityUnscheduleFromRunLoop", на который ссылаются:       - [Выходной стоп-сигнал недоступности] в Reachability.o

"_ SCNetworkReachabilityScheduleWithRunLoop", на который ссылаются:       - [Reachability startNotifier] в Reachability.o

"_ SCNetworkReachabilitySetCallback", на который ссылаются:       - [Reachability startNotifier] в Reachability.o

"_ SCNetworkReachabilityGetFlags", на который ссылаются:       - [Reachability connectionRequired] в Reachability.o       - [Reachability currentReachabilityStatus] в Reachability.o

ld: символ не найден для архитектуры armv7 clang: error: linker команда с кодом выхода 1 (используйте -v для вызова вызова)

Есть ли у кого-нибудь работоспособный код Reachability для ARC в iOS5?

4b9b3361

Ответ 2

Вам действительно не нужна ARC-версия Reachability, просто отключите ARC для файла (-ов) достижимости

Отключить ARC в файлах MULTIPLE:

  • Выберите нужные файлы на этапах Target/Build/Compile Sources в Xcode
  • НАЖМИТЕ ВВОД
  • Тип -fno-objc-arc
  • Нажмите Enter или Готово

У вас также есть недостающая структура. Добавьте Framework SystemConfiguration.

Ответ 4

Я просто нашел это, что могло бы помочь. Спасибо автору за это (это не мое)!

https://gist.github.com/1182373

Ответ 6

Вам нужно добавить systemConfiguration.framework, чтобы сделать работу по достижению.

Ответ 7

Я знаю, что эта ветка устарела, но в случае, если кто-то заинтересован, вы можете решить эту проблему, отключив ARC для Reachability.m. Посмотрите на этот пост.

Ответ 8

Тони, ваш класс правильно работает даже с проектом без ARC? Я вижу много возможностей. Достижимость: dealloc в моем консоле, и я не знаю, нормально это или нет! Я использую этот метод для проверки соединения (это единственное место, где я пользуюсь возможностью повторного использования)

-(BOOL)checkConnection{
    BOOL connessione = FALSE;
    Reachability *wifiResouce       = [[Reachability reachabilityForLocalWiFi] retain];
    Reachability *phoneResouce      = [[Reachability reachabilityForInternetConnection] retain];

    NetworkStatus netStatusWiFi     = [wifiResouce currentReachabilityStatus];
    NetworkStatus netStatusPhone    = [phoneResouce currentReachabilityStatus];
    if(netStatusWiFi == NotReachable){
        if(netStatusPhone == ReachableViaWWAN){
            connessione = TRUE;
        }
    }else if(netStatusWiFi == ReachableViaWiFi){
        connessione = TRUE;
    }
    [phoneResouce release];
    [wifiResouce release];
    return connessione; 
}