J'ai récemment ajouté une bibliothèque statique (mobclix) à mon projet iPhone qui m'a obligé à définir le SDK de base à 3.0. Cette bibliothèque est prétendue compatible avec 2.2 et jusqu'à présent, il semble que c'est vrai. J'ai défini la cible de déploiement du projet sur 2.2. Aucun problème là-bas.Comment spécifier la version de compatibilité pour dylib dans les projets iPhone?
Maintenant, j'utilise aussi libxml2 dans ce même projet. Apparemment, le libxml2.2.dylib dans OS 3.0 est plus récent que dans OS 2.X (versions 10 et 9 respectivement). Cependant, mon code qui utilise libxml2 était déjà compatible avec la version libxml2 incluse avec OS 2.X. Comme j'avais besoin de définir le SDK de base sur 3.0, la version de compatibilité/version minimale/dépendances est automatiquement définie sur la nouvelle version 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?
Vos erreurs sont d'une tentative de l'exécuter dans le simulateur, cela se produit réellement sur le matériel réel aussi bien? Compatibilité binaire entre les versions de simulateur est une chose complètement différente que la compatibilité entre les firmwares iPhone OS. –
J'attends toujours les rapports d'accident. A en juger les symptômes visibles (application qui se bloque au démarrage) cela pourrait être le problème ... –
Cela arrive aussi sur l'appareil. –