iphone - architectures - arm64 ios devices
Apple Mach-O Linker Errors(20)-SÃmbolos indefinidos para la arquitectura armv7 (6)
Recibí estos errores después de agregar "-all_load" en la configuración de compilación "Otros indicadores de vinculador" una vez que agregué "libPusher-combined.a" y sus archivos de encabezado. Seguí las instructions exactamente hasta la parte de escribir "-all_load" (en "Uso de una biblioteca estática precompilada" en "Agregar a tu proyecto iOS", pero terminé recibiendo 20 errores de Mach-O Linker. / ¿Podría alguien ayudarme con esto?
Aquí están los errores:
Undefined symbols for architecture armv7:
"_utf8_nextCharSafeBody", referenced from:
-[SRWebSocket _pumpScanner] in libPusher-combined.a(SRWebSocket.o)
"_SCError", referenced from:
-[Reachability startNotifier] in libPusher-combined.a(Reachability.o)
"_utf8_countTrailBytes", referenced from:
-[SRWebSocket _pumpScanner] in libPusher-combined.a(SRWebSocket.o)
"_SCNetworkReachabilitySetDispatchQueue", referenced from:
-[Reachability startNotifier] in libPusher-combined.a(Reachability.o)
-[Reachability stopNotifier] in libPusher-combined.a(Reachability.o)
"_kCFHTTPVersion1_1", referenced from:
-[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageIsHeaderComplete", referenced from:
___30-[SRWebSocket _readHTTPHeader]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageCreateRequest", referenced from:
-[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o)
"_SCNetworkReachabilityCreateWithAddress", referenced from:
+[Reachability reachabilityWithAddress:] in libPusher-combined.a(Reachability.o)
"_SCErrorString", referenced from:
-[Reachability startNotifier] in libPusher-combined.a(Reachability.o)
"_SCNetworkReachabilityCreateWithName", referenced from:
+[Reachability reachabilityWithHostname:] in libPusher-combined.a(Reachability.o)
"_CFHTTPMessageCopyAllHeaderFields", referenced from:
___30-[SRWebSocket _readHTTPHeader]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageGetResponseStatusCode", referenced from:
-[SRWebSocket _HTTPHeadersDidFinish] in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageSetHeaderFieldValue", referenced from:
-[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o)
___25-[SRWebSocket didConnect]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageCreateEmpty", referenced from:
-[SRWebSocket _readHTTPHeader] in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageCopySerializedMessage", referenced from:
-[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o)
"_SCNetworkReachabilitySetCallback", referenced from:
-[Reachability startNotifier] in libPusher-combined.a(Reachability.o)
-[Reachability stopNotifier] in libPusher-combined.a(Reachability.o)
"_SCNetworkReachabilityGetFlags", referenced from:
-[Reachability isReachable] in libPusher-combined.a(Reachability.o)
-[Reachability isReachableViaWWAN] in libPusher-combined.a(Reachability.o)
-[Reachability isReachableViaWiFi] in libPusher-combined.a(Reachability.o)
-[Reachability connectionRequired] in libPusher-combined.a(Reachability.o)
-[Reachability isConnectionOnDemand] in libPusher-combined.a(Reachability.o)
-[Reachability isInterventionRequired] in libPusher-combined.a(Reachability.o)
-[Reachability reachabilityFlags] in libPusher-combined.a(Reachability.o)
...
"_CFHTTPMessageCopyHeaderFieldValue", referenced from:
-[SRWebSocket _checkHandshake:] in libPusher-combined.a(SRWebSocket.o)
"_CFHTTPMessageAppendBytes", referenced from:
___30-[SRWebSocket _readHTTPHeader]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Si necesitas más información, solo pregunta. Espero que no me esté dando demasiados problemas. Gracias por adelantado.
Asegúrese de incluir los siguientes marcos (a través de https://github.com/square/SocketRocket ):
Dependencias marco
Su .app debe estar vinculado a los siguientes marcos / dylibs
libicucore.dylib CFNetwork.framework Security.framework Foundation.framework
Asegúrese de que también tiene -licucore en "Otros indicadores de vinculador", en la pestaña de configuración de compilación, como en la captura de pantalla adjunta:
Copié la carpeta completa de SocketRocket en mi aplicación para usar sockets web en mi aplicación y vinculé los archivos binarios libicucore.dylib, CFNetwork.framework, Security.framework, Foundation.framework con mi proyecto. Esto eliminó todos mis errores y advertencias.
En mi caso cuando agregué SystemConfiguration.framework al proyecto y el problema fue ... :-)
Para el último SDK, debe agregar:
libicucore.tbd
ya que libicucore.dylib ya no está presente.
¿Espero que la extensión .tbd no sea para "ser eliminado"?
Puedes revisar en tu objetivo-> Build Phase. Si estos archivos existen allí o no? y si está ejecutando para el simulador, primero debe hacer una compilación para el simulador de esa biblioteca, supongo que está utilizando la biblioteca SRWebSocket. Simplemente abra ese proyecto y haga una compilación para el simulador y copie los archivos de la carpeta de compilación y luego agregue a su proyecto y haga lo mismo para el dispositivo si está ejecutando su aplicación en el dispositivo.