我最近在我的iPhone項目中添加了一個靜態庫(mobclix),它需要我將Base SDK設置爲3.0。據稱這個庫與2.2兼容,目前看起來確實如此。我將項目的部署目標設置爲2.2。那裏沒有問題。如何在iPhone項目中爲dylib指定兼容版本?
現在,我也在這個相同的項目中使用libxml2。顯然,OS 3.0中的libxml2.2.dylib比OS 2.X(分別爲版本10和9)更新。不過,我使用libxml2的代碼已經與OS 2.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
是否有可能在某處覆蓋版本要求? 或其他想法來解決這個問題?
你的錯誤是由試圖在模擬器中運行它,這實際上在實際硬件上發生的呢?模擬器版本之間的二進制兼容性與實際iPhone OS固件之間的兼容性完全不同。 – 2009-08-11 08:35:28
我還在等待崩潰報告。判斷可見的症狀(開始時崩潰的應用程序)這可能是問題... – 2009-08-11 08:50:18
它也發生在設備上。 – 2009-08-11 16:20:51