iphone - maildrop - omitiendo el archivo[ruta] falta la arquitectura requerida i386 en el archivo
maildrop apple (3)
Soy bastante nuevo en el desarrollo de Xcode y Iphone y me encontré con el siguiente problema:
Abrí un nuevo proyecto y agregué archivos * .h y a * .a (que recibí de un determinado proveedor de dispositivos). Me sale la siguiente advertencia:
ld: advertencia: ignorar el archivo / Users / udi / Desktop / Xcode / Xcode Projects / Scosche / libmyTrekSDK_armv7.a, falta la arquitectura requerida i386 en el archivo / Users / udi / Desktop / Xcode / Xcode Projects / Scosche / libmyTrekSDK_armv7.a (2 rebanadas )
Si ignoro la advertencia e intento crear una instancia de la clase que se me asignó en el archivo de encabezado, obtengo estos errores:
ld: advertencia: ignorando el archivo [Path / FileName.a], falta la arquitectura requerida i386 en el archivo [Path / FileName.a] (2 divisiones)
Símbolos indefinidos para la arquitectura i386:
"_OBJC_CLASS _ $ _ HRMonitor", referenciado desde:
objc-class-ref en ViewController.o
ld: símbolo (s) no encontrado para la arquitectura i386
clang: error: el comando del vinculador falló con el código de salida 1 (use -v para ver la invocación)
He comprobado las rutas de búsqueda de Framework (como se menciona en muchas otras publicaciones) y está claro.
Más información:
- Estoy usando Xcode 4.6.1
- Los archivos se encuentran actualmente en la carpeta raíz del proyecto.
- Estoy usando un tamplate de aplicación de vista única.
Aprecio cualquier ayuda
Cambie "Configuraciones de compilación> Crear solo arquitecturas activas" de su objetivo a "No"
Esto está haciendo lo mismo que la respuesta de Dmitry Zhukov, pero hacerlo a través de Xcode en lugar de dar la espalda.
Esta advertencia significa que está intentando usar la biblioteca creada para el dispositivo (ARM) con su simulador (i386).
Puede usar este comando de terminal para crear una biblioteca universal:
lipo -create lib_arm.a lib_i386.a -output lib_universal.a
Más información sobre el comando lipo here .
Si está trabajando con un código de terceros, tenga en cuenta que es posible que algunos SDK no funcionen en el simulador. El mismo error de compilación que encontré se desvaneció cuando ejecuté el proyecto en el dispositivo.