sca*_*aly 8 xcode frameworks swift ios13
我们的应用程序支持 iOS 12 及更高版本,但是我们在应用程序中有两个新的本地框架“Jello”和“Wizdom”,但它们仅支持 iOS 13 及更高版本(因此它们可以使用 Combine 和 SwiftUI)。
该应用程序与 Jello、Wizdom、Combine 和 SwiftUI 的链接很弱。该应用程序的主要 BaseUI 模块是实际导入 Jello 的部分。BaseUI 支持 iOS 12 及更高版本,因此它与 Jello 等的链接也很弱。
但是,我们遇到了一个问题,即 BaseUI 由于以下错误而无法编译:Compiling for iOS 12.0, but module 'Jello' has a minimum deployment target of iOS 13.0.
如何在 iOS 13 可用的情况下使导入成为条件(即,如果 iOS 13 不可用,则不要导入它)?
(到目前为止,我发现的唯一解决方法是在 Jello 周围创建一个 Objective C 包装器并通过该包装器访问它,但这很笨拙且笨拙。我也尝试用它包装整个文件,#if canImport(SwiftUI) ... #endif但这也不起作用,因为它似乎这只是一个编译时检查。)
您是否尝试过按照这篇文章中的说明有条件地导入框架:Conditionally import a Framework (such as Speech) based on iOS Version in Swift??\n这里有完整的解释\n但是,主要信息是您可以在框架中定义为可选的 \xe2\x80\x9cTargets\xe2\x80\x9d 部分 -> “构建阶段” -> “链接二进制文件框架的“使用库”->“状态”在 iOS 12 上不可用。
\n您还必须使用 @available 标签来包装使用此库的代码。
\n| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |