2012-07-20 55 views
1

我在Lion上開發了一個可可應用程序,現在我想添加Leopard和Snow Leopard的兼容性。如何將Leopard和Snow Leopard支持添加到Lion Cocoa應用程序中?

我試圖將開發目標設置爲10.5,但Leopard和Snow Leopard仍然存在崩潰問題。

我想也打開與舊版本的Xcode的項目,但我得到數百編譯錯誤的(我想這是因爲我不能編譯與舊的Mac OS SDK程序)

你有有關解決Cocoa Apps復古兼容性問題的任何建議?

回答

4

我認爲開發最新的操作系統通常不是一個好主意,然後嘗試在最後一刻支持較老的操作系統。如果您使用的操作系統在操作系統中引入的API比最早嘗試支持的操作系統晚,則必須重寫代碼以避免使用這些API。這通常不值得麻煩。

也就是說,支持較老的操作系統沒有任何祕密。您只需確保您只使用您嘗試支持的最舊操作系統上可用的API(類,方法和函數)。在查看每種方法的文檔時,您會注意到,在「可用性」下,它會告訴您哪些版本的操作系統包含該方法。例如:

可用性
適用於Mac OS X v10.6及更高版本。

假設您沒有使用目標操作系統版本上沒有的任何API,您只需將部署目標設置爲目標操作系統的最低操作系統即可。您當然也希望對您所支持的每個操作系統版本進行徹底測試。

如果您詳細闡述了您在Leopard和Snow Leopard上看到的「碰撞問題」,那麼您的問題將更容易得到更詳細的回答。

0

首先,在Mac上安裝10.5 SDK。這可能不是必需的,但無論如何都要這樣做。您可以在互聯網上找到說明。請記住,使用10.5 SDK編譯將確保兼容性,但除非動態加載它們,否則您將無法使用較新的OS X功能。

其次,進入你的.xib文件,並在文件屬性選項卡(檢查器窗格中的第一個凹槽)禁用自動佈局並將部署目標設置爲10.5。