Frage

Ich habe vor kurzem eine statische Bibliothek (Mobclix) auf meinem iPhone-Projekt, das mir erforderlich, um die Basis-SDK 3.0 einzustellen. Diese Bibliothek wird behauptet, mit 2.2 kompatibel zu sein und so weit es sieht aus wie es ist wahr. Ich habe das Implementierungsziel des Projekts auf 2,2. Keine Probleme gibt.

Nun, ich bin auch libxml2 in diesem selben Projekt verwenden. Offenbar ist die libxml2.2.dylib in O 3.0 neue als in O 2.x (Version 10 bzw. 9). Allerdings ist mein Code, die libxml2 verwendet, war bereits kompatibel mit der libxml2 Version mit OS 2.X. enthalten Da ich den Base-SDK 3.0, die „Kompatibilität Version“ / Mindestversion Anforderung / Abhängigkeit setzen benötigt wird, auf die neuere Version von libxml2 automatisch eingestellt. Wenn ich versuche, die app in OS 2 zu laufen, ich diesen 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, die Version Anforderung irgendwo außer Kraft zu setzen? Oder andere Ideen um dieses Problem zu lösen?

War es hilfreich?

Lösung

Die Kompatibilitätsversion ist nach der Version in der dylib des aktuellen SDK während Build eingebettet gesetzt. Ich habe keine Möglichkeit, zu ändern oder außer Kraft setzen diese gefunden.

Doch im Ziel in Xcode unter dem „Link mit binärer mit Bibliotheken“ Zweig gibt es eine Option, um einen dylib „schwach“ zu verknüpfen. Damit springt die Versionsprüfung zum Zeitpunkt des Ladens der dylib (Runtime). Es ist Ihre Verantwortung dann nur Anrufe zu den bestehenden Funktionen zu machen. Telefonieren auf nicht vorhandenen Funktionen wird die Anwendung zum Absturz bringen.

Andere Tipps

Anscheinend war es eine Änderung mit SDK 3.0, die Kompatibilität mit libxml brach. Apple habe darüber geschrieben hier:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top