2009-10-23 132 views
3

我的應用程序需要在10.4或更高版本上運行。如果我在10.3上啓動它,它只是無法啓動或崩潰。如何在Cocoa應用程序中執行最低操作系統要求?

你如何巧妙地執行最低系統要求?你可以自定義它顯示的消息嗎?

+0

老實說,有人甚至*使用* 10.3了嗎?如果這是一個商業產品,那麼完全可以肯定地說10.3是一個不推薦的操作系統(即使蘋果不再支持10.3)。 –

+1

這是一個商業產品,它有一個非常利基的觀衆。我*希望*沒有人使用10.3,但是因爲我們支持它並且直到現在對它進行了測試,所以我必須逐步淘汰它。 – zekel

回答

2

我沒有使用這些技術/建議,只是傳遞我收集的信息。

您可能會嘗試類似SystemVersionCheck 「shim」 executable之類的操作來爲不支持LSMinimumSystemVersion(例如10.3)的版本提供可用的操作系統版本檢查。

預編譯的可執行文件僅限PPC。您可能需要重新構建它以支持PPC和Intel機器,以便它可以與10.3一起使用,但也會導致10.6個用戶不會不必要地安裝Rosetta。我發現了一個博客文章,其中有a hint on how to setup the PPC build to target 10.3 and the Intel build to target 10.4u(儘管最新版本的Xcode甚至包含10.3 SDK,但是它的編寫約爲10.5和Xcode 3.0)。

+0

不是。你得到10.4u,10.5和10.6。同樣,曾經有一個10.2的東西SDK,他們殺死了幾個版本的Xcode之前(3或之前的版本)。 –

+0

我登錄到ADC,並通過了「關於」 PDF文件找的Xcode 3.2.1,3.2(10.6),3.1.4(10.5)。 10.3 SDK在Xcode 3.1.4中被提及爲可選安裝,但在3.2+中完全沒有提及。貌似10.3發展限制在至多在Xcode 3.1.X 10.5(也許從3.1.X的10.3 SDK可以與3.2.x中進行安裝,但似乎不確定的問題)。 –

+0

我能在這裏從10.6建造10.3,見我的問題:http://stackoverflow.com/questions/2074444/is-there-a-way-to-get-use-the-os-x-10- 3-cocoa-sdk-on-a-10-6-machine – zekel

9

爲您的應用程序Info.plist添加一個密鑰,將LSMinimumSystemVersion指定爲10.4.X用於您需要的任何X作爲次要版本。更多信息,請參閱Apple's documentation

+3

您也可以使用單獨的密鑰按架構進行設置。對於x86_64,你需要10.5或10.6。 –

+0

我將LSMinimumSystemVersion設置爲10.4.11,並且我的應用程序仍然在10.3上啓動並崩潰......我想我在某處忽略了LSMinimumSystemVersion? – zekel

2

如果您手動添加LSMinimumSystemVersion關鍵應用程式的plist中後遇到系統崩潰,那麼這是由於搜索沒有正確認識到應用程序的改變的狀態。重新啓動Finder(例如註銷)或複製Finder中的應用程序。該副本然後將正確行爲。

+0

很高興知道。這可能爲我節省了一個星期。 – zekel

相關問題