Pregunta

He añadido recientemente una biblioteca estática (Mobclix) a mi proyecto de iPhone que me requiere para configurar el SDK Base a 3,0. Esta biblioteca se afirma que es compatible con 2.2 y hasta ahora parece que es cierto. Me puse Destino de despliegue del proyecto a 2,2. No hay problema.

Ahora, también estoy usando libxml2 en este mismo proyecto. Al parecer, el libxml2.2.dylib en OS 3.0 es más reciente que en 2.X OS (versión 10 y 9, respectivamente). Sin embargo, mi código que utiliza libxml2, ya era compatible con la versión de libxml2 incluido con OS 2.X. Ya que necesitaba para establecer el SDK Base a 3.0, la versión "compatibilidad" / mínimo requisito de versión / dependencia se ajusta automáticamente a la versión más reciente de libxml2. Cuando trato de ejecutar la aplicación en OS 2, consigo este error de ejecución (obviamente):

  Dyld Error Message:
  Library not loaded: /usr/lib/libxml2.2.dylib
  Referenced from: /Users/Martijn/Library/Application Support/iPhone Simulator/User/Applications/4D5456DE-F297-4DF4-ACA6-DA8BBBBBA914/Luisterpaal.app/Luisterpaal
  Reason: Incompatible library version: Luisterpaal requires version 10.0.0 or later, but libxml2.2.dylib provides version 9.0.0

¿Es posible anular el requisito versión en alguna parte? U otras ideas para resolver este problema?

¿Fue útil?

Solución

La versión de compatibilidad se establece de acuerdo con la versión incorporada en el dylib del SDK de corriente durante la construcción. No he encontrado una manera de cambiar o anular esta.

Sin embargo, en el objetivo en Xcode bajo el "Enlace con el binario con las bibliotecas" rama hay una opción para vincular una dylib "débilmente". Esto se salta la comprobación de versión en el momento de cargar el dylib (tiempo de ejecución). Es su responsabilidad a continuación, sólo para hacer llamadas a funciones existentes. Realización de llamadas a funciones no existentes se bloqueará la aplicación.

Otros consejos

Al parecer hubo un cambio con el SDK 3.0 que se rompió la compatibilidad con libxml. Apple ha publicado los detalles aquí:

http://developer.apple.com/iphone/library /qa/qa2009/qa1659.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top