xcode 4.5 – símbolos no encontrados para architecture i386 (zbar)

Tengo un proyecto que utiliza el zbar-sdk (una biblioteca de escaneo de código de barras).

Después de actualizar mi máquina a xcode 4.5 y ios6sdk, estoy teniendo algunos problemas.

Pude build el simulador sin tocar nada sobre mi proyecto. Esto está utilizando la última biblioteca de zbar 1.2.

Entonces quería build en mi dispositivo ios6 para la testing, y eso es cuando recibí un error.

Después de search en Google en el foro de desarrolladores de zbar, vi que necesitaba get la fuente de zbar y comstackr libzbar.a para armv7 y armv7s, ya que el desarrollador de zbar aún no lo ha hecho.

Ver – http://sourceforge.net/projects/zbar/forums/forum/1072195/topic/5728912

Así que hice esto, volví a importar el libzbar.a actualizado en mi proyecto. ¡Entonces construí para mi dispositivo, y funcionó! Pude get mi aplicación en mi dispositivo de testing y la biblioteca de códigos de barra de zbar funcionó bien.

Pensé que eso era el final, pero lamentablemente no.

Luego traté de build el simulador (ios6) nuevamente, y eso es cuando falla.

No importa lo que no pueda conseguir este proyecto para el dispositivo y el simualtor al mismo time y con la misma configuration 🙁

Mis configuraciones de proyecto de libzbar.a al crear mi propio file libzbar.a:

Arquitectura: Estándar (armv7, armv7s) $ (ARCHS_STANDARD_32_BIT)

Construir architecture activa solo: no

Arquitecturas válidas: armv7 armv7s

Y la configuration de mi proyecto (para myapp) como:

Arquitectura: Estándar (armv7, armv7s) $ (ARCHS_STANDARD_32_BIT)

Construir architecture activa solo: no

Arquitecturas válidas: armv7 armv7s

Base SDK: iOS6

Objetivo de implementación de iOS: iOS 5.0

Y el error al intentar comstackr al simulador:

ld: warning: ignoring file /Users/blah/iOS App/myapp/ZBarSDK/libzbar.a, missing requinetworking architecture i386 in file /Users/blah/iOS App/myapp/ZBarSDK/libzbar.a (2 slices) Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZBarReaderViewController", referenced from: objc-class-ref in mycontroller.o "_ZBarReaderControllerResults", referenced from: -[mycontroller imagePickerController:didFinishPickingMediaWithInfo:] in mycontroller.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

He intentado ajustar la configuration del proyecto libzbar.a (por ejemplo, build architecture activa configurada en "SÍ"), pero esto no hace que ni el simulador ni el dispositivo funcionen.

El hecho de que funcione en el dispositivo pero no en el simulador me hace pensar que hay una configuration rara de architecture / proyecto que causa esto.

¡Cualquier ayuda muy apreciada!

Dudo que esta sea la respuesta correcta, pero funcionó para mí, compilé la nueva libzber.a usando architectures: i386 armv6 armv7 armv7s en ese order, también es necesario especificar architectures válidas como los mismos valores. De nuevo, esto es lo que funcionó para mí con una versión reciente que necesitaba para salir lo antes posible. Ambos se encuentran en Target -> Configuración de compilation -> Architecures.

También tenga en count: $ (ARCHS_STANDARD_32_BIT) necesitaba ser eliminado de la configuration.

Solucioné un problema similar al configurar la architecture del simulador iOS6 en OTHER_LDFLAGS en Target-> Configuración de compilation.

Olvidé que tenía un argumento de línea de command diferente para las architectures separadas, así que tuve que indicar manualmente el simulador