最近、静的ライブラリ(mobclix)をiPhoneプロジェクトに追加したため、BaseSDKを3.0に設定する必要がありました。このライブラリは2.2と互換性があると主張されており、これまでのところ、それは本当のように見えます。プロジェクトの展開ターゲットを2.2に設定しました。そこに問題はありません。
現在、この同じプロジェクトでlibxml2も使用しています。どうやら、OS 3.0のlibxml2.2.dylibはOS2.X(それぞれバージョン10と9)よりも新しい。しかし、libxml2を使用する私のコードは、OS2.Xに含まれているlibxml2バージョンとすでに互換性がありました。Base SDKを3.0に設定する必要があったため、「互換性バージョン」/最小バージョン要件/依存関係は自動的に新しいバージョンのlibxml2に設定されます。OS 2でアプリを実行しようとすると、(明らかに)次のランタイムエラーが発生します。
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
どこかでバージョン要件を上書きすることは可能ですか?またはこの問題を解決するための他のアイデア?