1. 程式人生 > >[Swift]檢查API可用性

[Swift]檢查API可用性

Swift內建支援檢查API可用性,這可確保您不會意外使用在給定部署目標上不可用的API。

編譯器使用SDK中的可用性資訊來驗證程式碼中使用的所有API是否在專案指定的部署目標上可用。如果您嘗試使用不可用的API,Swift會在編譯時報告錯誤。

您可以在or 語句中使用可用性條件來有條件地執行程式碼塊,具體取決於您要使用的API是否在執行時可用。當編譯器驗證該程式碼塊中的API可用時,編譯器將使用可用性條件中的資訊。ifguard

1 if #available(iOS 10, macOS 10.12, *) {
2     // Use iOS 10 APIs on iOS, and use macOS 10.12 APIs on macOS
3 } else { 4 // Fall back to earlier iOS and macOS APIs 5 }

上面的可用性條件指定在iOS中,if語句的主體僅在iOS 10及更高版本中執行; 在macOS中,僅在macOS 10.12及更高版本中。最後一個引數*是必需的,並指定在任何其他平臺上,在if目標指定的最小部署目標上執行的主體。

在一般形式中,可用性條件採用平臺名稱和版本的列表。您可以使用平臺的名稱,如iOSmacOSwatchOS,和tvOS-對於完整列表,請參閱宣告屬性。除了指定主要版本號(如iOS 8或macOS 10.10)之外,您還可以指定次要版本號,如iOS 11.2.6和macOS 10.13.3。

1 if #available(platform name version, ..., *) {
2     statements to execute if the APIs are available
3 } else {
4     fallback statements to execute if the APIs are unavailable
5 }