verificar una tutuapp requiere puedo pudo para internet fuentes fiables empresarial desconocidas desarrolladores desarrollador confiable confiabilidad conexion como apps app activar abrir iphone objective-c xcode linker

iphone - una - no se pudo verificar la app tutuapp



Sintaxis de xcode project-/target-settings-settings para el vinculador flag force_load en iPhone (2)

Me enfrento al doble enlace, que, por un lado, para una de las bibliotecas estáticas de terceros, la aplicación de mi iPhone usa, el indicador del vinculador -todo_load debe estar configurado en el proyecto de la aplicación- o la configuración de destino, de lo contrario, la aplicación falla el tiempo de ejecución no encuentra algunos símbolos, llamados internamente desde la biblioteca, por otro lado, para otra biblioteca estática de terceros, no se debe configurar todo en el nivel de la aplicación, o la aplicación no se generará gracias a un error del vínculo "símbolos duplicados". Para resolver este problema, ahora quiero usar el instante force_load de load_all, ya que debido a la documentación hace lo mismo que all_load, pero solo para la ruta de acceso o el archivo lib, en lugar de todas las librerías. El problema con force_load es, no tengo una pista, cómo pasar una ruta o archivo como parámetro, al pasarlo a través de proyectos de código de destino o configuración de destino. Todas las posibilidades de sintaxis que me vienen a la mente llevan a Xcode a pensar que es otro indicador del enlazador en lugar de un parámetro al anterior, o que el enlazador está generando errores relacionados con la sintaxis o que el indicador simplemente no hace nada en comparación con no estar configurado. También abrí el archivo .pbxproj en un editor de texto para editarlo manualmente con la sintaxis de la línea de comando correcta, pero al volver a cargar el proyecto con xcode, cambia automáticamente la sintaxis para interpretar el parámetro para forzar a cargar como un indicador separado.

¿Alguien tiene una idea sobre este tema?

Gracias, Kaiserludi.


Acabo de agregar force_load a nuestro proyecto y todo está bien usando la sintaxis más simple posible. La biblioteca es una dependencia construida en el mismo proyecto. Por lo tanto, la biblioteca se incluye dos veces en la línea de comandos del enlace: una vez como un archivo de entrada normal y una vez como un argumento para -force_load. Es posible que desee colocar caracteres de comillas alrededor del argumento.

De hecho, incluso funcionó usando configuraciones que dependen de la configuración (porque la ruta es obviamente diferente para depuración vs. lanzamiento y dispositivo vs. simulador).

Buena suerte.


Acabo de intentar esto. He compilado un binario gordo estático armv6, armv7 y i386 de PCRE para usar en mi proyecto de iPhone. Mi proyecto normalmente solo tiene mi biblioteca agregada al proyecto y eso enlaza bien. Así que desactivé la casilla de membresía de destino para libpcre.a y la reconstruí. Como era de esperar, recibo un montón de errores de vinculador de símbolos faltantes para los símbolos de pcre. Luego abrí la ventana de configuración de destino y edité la sección "Otros indicadores de vinculador". Yo añadí:

-force_load lib/pcre/libpcre.a

El directorio lib está en el mismo directorio que mi archivo project.xcodeproj.

Se vinculó bien, así que sé que el comando force_load funcionó (y puedo verlo agregado a los indicadores de compilación cuando xcode construye el archivo).

Espero que ayude.

Actualizar:

También intenté agregar una biblioteca de sistema a la línea "Otros indicadores de vinculador", de esta forma:

-force_load src/pcre/libpcre.a -force_load ${SDKROOT}/usr/lib/libz.dylib

Eso funcionó también.