Question

J'ai récemment ajouté une bibliothèque statique (Mobclix) à mon projet iPhone qui me nécessaire pour définir le SDK de base à 3,0. Cette bibliothèque est revendiquée pour être compatible avec 2.2 et jusqu'à présent, il semble que ce soit vrai. Je mis la cible de déploiement à 2.2 du projet. Pas de problème là-bas.

Maintenant, je suis également en utilisant libxml2 dans ce même projet. Apparemment, le libxml2.2.dylib dans OS 3.0 est plus récente que dans OS 2.x (version 10 et 9 respectivement). Cependant, mon code qui utilise libxml2, était déjà compatible avec la version libxml2 inclus avec OS 2.X. Depuis que je devais définir le SDK de base à 3.0, la version « de compatibilité » / exigence minimale version / dépendance est automatiquement définie sur la version plus récente de libxml2. Lorsque je tente d'exécuter l'application dans OS 2, je reçois cette erreur d'exécution (évidemment):

  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

Est-il possible de remplacer quelque part l'exigence de version? Ou d'autres idées pour résoudre ce problème?

Était-ce utile?

La solution

La version de compatibilité est définie en fonction de la version intégrée dans le dylib du SDK courant pendant la génération. Je ne l'ai pas trouvé un moyen de modifier ou remplacer ce.

Cependant, dans la cible dans Xcode sous la branche « Lien avec binaire avec les bibliothèques » il y a une possibilité de lier un dylib « faiblement ». Cette version ignore la vérification au moment du chargement du dylib (exécution). Il est de votre responsabilité de faire alors que les appels à des fonctions existantes. Faire des appels à des fonctions non existantes se bloque l'application.

Autres conseils

Apparemment, il y a eu un changement avec SDK 3.0 qui a cassé la compatibilité avec libxml. Apple a posté à ce sujet ici:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top