簡體   English   中英

這兩個宏有什么區別?

[英]What is difference between these 2 macros?

有什么區別

__IPHONE_OS_VERSION_MAX_ALLOWED

__IPHONE_OS_VERSION_MIN_REQUIRED

我應該使用哪個來檢測舊的/新的SDK,比如

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_3_2

__IPHONE_OS_VERSION_MIN_REQUIRED設置為部署目標,表示用戶必須最低限度運行才能安裝應用的版本。 __IPHONE_OS_VERSION_MAX_ALLOWED設置為您正在編譯的SDK版本,但這並不意味着您的應用程序不會在較新版本上運行,但您可以使用它來檢查某些操作系統功能是否可用。

例如,從iOS 3.2開始,我們就有了UIBezierPath類。 如果你正在編譯SDK 3.1(大概是在iPhone模擬器中測試它),這個新類是不可用的,所以編譯器會給你一個警告,表明該類不存在。 很公平,但我們不希望每次針對舊版SDK構建它時都會評論該特定代碼,僅用於模擬器測試。 我們只想隱藏這些代碼塊,這些宏可以實現。

請閱讀這篇關於Cocoa with Love的文章,以獲得進一步的解釋,提示和技巧。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM