我正在制作一個使用AVAsset 的 variables 變數的庫。這不那么重要;重要的是它具有 Xcode 13 要求。這個庫可能被運行 Xcode 12 的應用程式使用。是否有編譯器標志只能在特定版本的 Xcode 上運行代碼?
類似于您如何為 Swift 版本執行此操作:
#if swift(>=5.0)
// code
#else
// code
#endif
我想做
#if xcode(>=13.0)
// use variants
#endif
uj5u.com熱心網友回復:
我發現這#if compiler(>=5.5)在這里有效。請注意,這與 不同if swift(>=5.5),它不一定會根據您在專案中設定的 swift 版本起作用。
uj5u.com熱心網友回復:
據我所知,沒有辦法直接檢查 Xcode 版本。但是,Xcode 13 支持 iOS 15,Xcode 12 不支持。您可以使用它作為一種解決方法來檢查 Xcode 版本是否為 13 或更高版本。
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 150000 // iOS 15 or greater
// Xcode 12 will not see this code.
#else
// Xcode 12 and lower will see this
#endif
uj5u.com熱心網友回復:
實際發帖鏈接
Xcode 12.5 : Swift version 5.4.2
Xcode 12.3 : Swift version 5.3.2
Xcode 12.2 : Swift version 5.3.1
Xcode 11.6 : Swift version 5.2.4
Xcode 11.5 : Swift version 5.2.4
Xcode 11.4 : Swift version 5.2
Xcode 11.3 : Swift version 5.1.3
Xcode 11.2.1 : Swift version 5.1.2
Xcode 11.1 : Swift version 5.1
然后是檢查方法:
#if compiler(>=5) //4.2, 3.0, 2.0 replace whatever swift version you wants to check
print("Hello Swift 5")
#endif
萬事如意??
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425803.html
上一篇:無法更新info.plist檔案
