2010-10-04 94 views
0

我最近遇到了一些麻煩,那就是用最新的iOS 4.1 SDK構建應用程序,並在設備上使用iOS 3.x運行它。應用程序在4.x設備和iPad上運行正常,但在運行較舊的3.x iOS的設備上發生崩潰。在iOS 3.x上使用XCode 3.2.4和iOS SDK 4.1編譯運行應用程序時遇到的問題

問題似乎在鏈接器中,因爲崩潰顯然是由調用項目中使用的第三方庫引起的。鏈接器(甚至編譯器)的懷疑是由事實支持的,當我使用較舊的3.1.3 SDK構建應用程序時,它可以按預期工作。

我的發行配置使用iOS 4.1作爲基本SDK和iOS 3.0作爲部署目標平臺,使用LLVM GCC 4.2進行編譯。我也試過GCC 4.2編譯器,但它也沒有幫助。

我發現在這個版本的SDK中存在鏈接器/編譯器中的一些錯誤,但沒有提出的解決方案爲我工作。

我非常需要解決這個問題,所以任何幫助都非常感謝。

感謝大家的任何提示或建議。

+1

你需要接受一些你的問題的答案。您只需按下您認爲可幫助您解決問題的答案旁邊的複選標記即可。這將獎勵花時間幫助你的用戶,你也會得到一個小小的獎勵。 – Emil 2010-10-04 14:22:50

回答

0

只是爲了讓你知道,如果你正在使用類似的iAd框架,你需要添加這個框架爲目標信息彈出「弱依賴」 :-)

如果它是一個LIBRAIRIE,能你列出他們?

祝你好運!

+0

嗨,感謝您的回覆,但事實並非如此,沒有使用iAd fw。該應用程序使用Three20和一些庫來處理Zip檔案。無論我將其定義爲弱還是必需的依賴關係,結果都是一樣的。正如我上面寫的,它適用於iOS 4.x和3.2設備,但不適用於iOS <3.2。首先調用鏈接庫會導致崩潰。當我使用3.1.3 SDK構建應用程序時,它通常在3.0上運行。我認爲它需要調整一些鏈接器或編譯器的標誌,但我無法弄清楚什麼和如何?! – Matthes 2010-10-04 15:29:02

0

我想我回答這個問題已經太晚了。但仍然 - 如果你有3.1.3設備,通過加載應用程序和開發人員配置文件進行系統內調試會給你造成崩潰的原因。當我的應用在4.0+設備上正常工作時遇到了類似的問題,但在啓動時我立即在3.1.2設備上嘗試它時立即崩潰。我使用開發人員配置文件對其進行編譯,然後進行系統內調試。我發現我使用的是iOS 3.2引入的UIPopoverController類,因此我的3.1.2失敗了。對此進行必要的檢查可以解決我的問題。

希望有所幫助。

相關問題