wifi ios5 reachability automatic-ref-counting

wifi - Necesidad de la versión Accesibilidad para ARC en iOS5



reachability automatic-ref-counting (8)

Utilizando el código de accesibilidad de Apple en iOS5 me sale un montón de errores de compilación como se muestra a continuación. ¿Alguna idea sobre lo que está sucediendo aquí? Estoy usando ARC, así que he editado el código estándar ligeramente para eliminar autorelease/retain y NSAutoReleasePool .

Símbolos indefinidos para la arquitectura armv7:

"_SCNetworkReachabilityCreateWithAddress", a la que se hace referencia a partir de: + [Reachability reachabilityWithAddress:] en Reachability.o

"_SCNetworkReachabilityCreateWithName", a la que se hace referencia desde: + [Reachability reachabilityWithHostName:] en Reachability.o

"_SCNetworkReachabilityUnscheduleFromRunLoop", referenciado de: - [Alcachability stopNotifier] en Reachability.o

"_SCNetworkReachabilityScheduleWithRunLoop", referenciado a partir de: - [Alcachability startNotifier] en Reachability.o

"_SCNetworkReachabilitySetCallback", referenciado a partir de: - [Alcachability startNotifier] en Reachability.o

"_SCNetworkReachabilityGetFlags", a la que se hace referencia a partir de: - [Conexión de disponibilidad requerida] en Reachability.o - [Reachability currentReachabilityStatus] en Reachability.o

ld: símbolos no encontrados para la arquitectura armv7 clang: error: el comando del enlazador falló con el código de salida 1 (use -v para ver la invocación)

¿Alguien tiene un código de Accesibilidad viable para ARC en iOS5?




Los reordené para IOS 5 y están trabajando en la prueba

NO OLVIDE AGREGAR SystemConfiguration.framework en su proyecto


Necesita agregar SystemConfiguration.framework para que el funcionamiento de Reachability funcione.


Tony, ¿tu clase funciona correctamente incluso con un proyecto que no sea ARC? Puedo ver mucho bien Accesibilidad: dealloc en mi consola, ¡y no sé si es normal o no! Utilizo este método para verificar la conexión (es el único lugar donde utilizo Rehability)

-(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; }


Realmente no necesita una versión ARC de Accesibilidad, solo deshabilite ARC para archivos de accesibilidad (s)

Deshabilitar ARC en archivos MÚLTIPLES:

  • Seleccione los archivos deseados en Target / Build Phases / Compile Sources en Xcode
  • PRESIONAR ENTER
  • Tipo -fno-objc-arc
  • Presione Enter o Done

También tienes un marco faltante. Agregue marco de configuración del sistema .



Sé que este hilo es antiguo, pero en caso de que alguien esté interesado, puedes resolverlo inhabilitando ARC para Reachability.m. Mira esta publicación .