Ich habe vor kurzem eine statische Bibliothek (mobclix) zu meinem iPhone-Projekt hinzugefügt, bei der ich das Base SDK auf 3.0 setzen musste. Diese Bibliothek soll mit 2.2 kompatibel sein und bisher scheint es so zu sein. Ich habe das Implementierungsziel des Projekts auf 2,2 festgelegt. Keine Probleme dort.Wie kann ich die Kompatibilitätsversion für dylib in iPhone Projekten angeben?
Jetzt benutze ich auch libxml2 in diesem Projekt. Anscheinend ist die libxml2.2.dylib in OS 3.0 neuer als in OS 2.X (Version 10 bzw. 9). Mein Code, der libxml2 verwendet, war jedoch bereits mit der libxml2-Version von OS 2.X kompatibel. Da ich das Base SDK auf 3.0 setzen musste, wird die "Kompatibilitätsversion"/Mindestversionsanforderung/-abhängigkeit automatisch auf die neuere Version von libxml2 gesetzt. Wenn ich versuche, die app in OS 2 zu laufen, erhalte ich diese Laufzeitfehler (natürlich):
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
Ist es möglich, irgendwo die Version Anforderung außer Kraft zu setzen? Oder andere Ideen, um dieses Problem zu lösen?
Ihre Fehler von einem Versuch, sind es im Simulator auszuführen, wird dies auch auf echte Hardware passiert eigentlich? Binär Kompatibilität zwischen Simulator-Versionen ist eine ganz andere Sache, die Kompatibilität zwischen iPhone OS Firmware. –
Ich warte immer noch auf die Absturzberichte. Bei der Beurteilung der sichtbaren Symptome (Absturz der App beim Start) könnte dies das Problem sein ... –
Es passiert auch auf dem Gerät. –