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?
Acabo de encontrar esto que podría ayudar. ¡Gracias al autor por esto (esto no es mío)!
Escribí una versión limpia de ''accesibilidad'' para ARC e iOS5. Puede obtenerla aquí: https://github.com/tonymillion/Reachability
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 .
La accesibilidad de Apple se ha actualizado a la versión 3, que ahora es compatible con ARC iOS5 +
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 .