我想知道如果我的應用程序使用4.1 SDK構建,是否會遇到與OS4.0的兼容性問題,或者這是一個非問題?哪個版本的iPhone SDK應該用於OS4應用程序?
回答
簡短的回答回答了你的問題,你的問題是:使用至少4.0爲您的應用基地SDK版本和準確4.0 部署目標版本。
我把兩個答案都降低了,因爲他們錯了或者至少不完整。
在構建應用程序有兩種設置,你應該知道的:
還有就是基地SDK版本定義對哪個版本的應用程序將被編譯的SDK。
也有部署目標版本它定義了最低版本的應用程序需要的IOS。您可以在Xcode中將其設置爲低至2.2.1,但App Store目前不會接受低於3.1.3的版本。
的基地SDK版本可以更高那麼部署目標版本。這僅僅意味着您的應用程序向後兼容較舊版本的iOS。這也意味着您的應用程序需要在運行時作出決定,以確保在舊版本上運行時不要使用更新的功能。
例如,在4.0中引入了MFMessageComposeViewController
,因此如果您的應用程序已配置爲也運行在3.1.3上,那麼您應該使用NSClassFromString()
來查找在使用它之前該特定類是否實際可用。
Stack Overflow上有很多關於如何發現可用功能的問題,所以我不會在這裏重複這些技術。
取決於您將使用的API。假設您想實現應用內短信(MFMessageComposeViewController
),並希望所有最終用戶(將被定義爲EU)訪問該功能,那麼您必須針對iOS 4.0進行編譯。但是,讓我們假設您希望應用內短信是可選的,並且是針對您的EU的「加號」,您只需針對iOS 3.0編譯應用即可(比方說)。
希望我:-)
和稍微重要提示:
行爲做跨OS版本變化。在3.0版本中發生了一堆變化(我們在UITableView/UITableViewCell中遇到了問題):
- 舊應用程序發生了一些變化(例如,編譯爲2.2.1)。我忘記了這些。
- 其中一些在工具鏈(我認爲它們改變了如何使用ibtool編譯nib;它就像爲UITableViewCell設置圖像和自定義視圖一樣)。當我們在構建服務器上升級SDK時發生這種情況,即使我們沒有觸及「基礎SDK」
- 其中一些情況僅在您使用3.0的基本SDK進行編譯時發生(UIKit會自動檢測您已鏈接的版本對並具有用於一些事情向後兼容模式)
此外,還有一些運行/ C++中GCC 4.2,這意味着在OS 2.2.1運行GCC 4.2的應用更改鑄造無符號整型時/長到崩潰float/double或使用std :: ostringstream。我已經添加了對GCC版本的檢查。
所以,不,用較新的SDK編譯可以導致問題—你可能不希望如果有時間限制(你沒有足夠的時間來實現多任務的支持,或者你沒有時間去冒這個險做一個完整的重新測試並修復所有的錯誤,等等)。或者也許你仍然想支持2.2.1出於某種奇怪的原因(4.0下降2.x「設備支持」,這實際上使得無法在2.x設備上調試應用程序)。
通常,在較小的操作系統版本中沒有任何問題(折扣3.1/3.2)。我建議儘快升級SDK;不要因爲舊的操作系統沒有新功能而回避新功能。
- 1. 哪個FB SDK版本應該用於iOS 5?
- 2. 可達性應用程序iPhone OS4 SDK問題
- 3. 我應該使用什麼sdk版本的iPhone應用程序? 4.2或3.?
- 4. iphone sdk基於tabb的應用程序?
- 5. 應該使用哪個版本的Python?
- 6. 我應該使用哪個版本的iOS SDK?
- 7. 我應該使用哪種PayPal iPhone SDK?
- 8. 哪個iPhone OS版本顯示地圖應用程序?
- 9. iPhone應用程序版本 - 哪一個要保留?
- 10. 開發Android應用程序時應該使用哪個版本的Android?
- 11. iPhone應用程序的測試版本
- 12. 哪個版本的ruby和rails應該啓動我的應用程序?
- 13. Ubuntu上的哪個版本應該運行我的Rails應用程序?
- 14. 我在哪裏設置我的iPhone應用程序的版本?
- 15. 哪個BLE信標應該用於跨平臺應用程序?
- 16. 我的iPhone應用程序最新版本在哪裏?
- 17. 我應該使用哪種OAuth流程用於我的本機應用程序?
- 18. 適用於iPhone 5及以上版本的新應用程序
- 19. 哪個版本的導軌應該用於新項目
- 20. 我應該將哪個版本的Python用於Web開發?
- 21. 哪個版本的TurboGears應該用於新項目?
- 22. 構建版本 - iphone應用程序(xcode)
- 23. iPhone應用程序 - 批准和版本
- 24. 我的應用程序可以在iphone OS4上運行嗎?
- 25. 他們用於iPhone中的CNN應用程序的哪個UI
- 26. 使用SDK的iPhone應用程序reCaptcha
- 27. 我應該將哪個數據庫用於本地應用程序?
- 28. 哪個JDK版本應該用於休眠3.6.1
- 29. 哪個版本應該用於Spark Cassandra連接器。
- 30. 哪個Django版本應該用於生產?
您對部署目標版本是否正確,我完全錯過了 – rano 2010-09-11 19:41:19
謝謝,這就是我一直在尋找的。 – 2010-09-11 23:41:04