ios - Swift 中的条件导入不起作用?

标签 ios swift import module swiftystorekit

我想使用具有 WatchOS 6.2 最低要求的模块 (SwiftyStoreKit),但是我不想增加我的 WatchOS 目标,因为我不想失去对旧 watch 的支持。我的理解是 Swift 现在有条件导入,它可以让你只在操作系统允许导入的情况下导入模块,但下面的代码不起作用?我仍然收到编译错误“正在为 watchOS 4.3 编译,但模块‘SwiftyStoreKit’的最低部署目标为 watchOS 6.2:”并且如果我删除“import SwiftyStoreKit”,则不会检测到该模块。

#if canImport(SwiftyStoreKit)
import SwiftyStoreKit

class SwiftyStoreKitWatchHelper {

}
#endif

最佳答案

试试这个

#if canImport(SwiftyStoreKit)
import SwiftyStoreKit
#endif

@available(watchOS 6.2)
class SwiftyStoreKitWatchHelper {
    
}

关于ios - Swift 中的条件导入不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62984725/

相关文章:

ios - Swift 2D 数组扩展

ios - 如何在ios中按字母顺序显示搜索结果

javascript - TypeScript:如何导入 ES6 JavaScript 类?

ios - 安装 cordova-plugin-wkwebview-engine 插件时传输 LocalStorage

iOS Facebook SDK 获取好友 ID 异常

swift - Swift 的 DateInterval 中的时区不正确

ios - SwiftSpinner 在调用 API 时遇到问题 - swift ios

swift - 如何让 touch.locationInNode() 识别节点和它的子节点之间的区别?

c++ - 如何导入将 [c++] 类导入 [objective-c] 类的 [objective-c++] 类?

python - 为什么我的脚本目录不在 Python sys.path 中?