gpt4 book ai didi

swift - 仅当 iOS 13 可用时如何导入特定框架?

转载 作者:行者123 更新时间:2023-12-03 20:50:08 25 4
gpt4 key购买 nike

我们的应用程序支持 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? ?
有完整的解释here
但是,主要信息是您可以在框架的“目标”部分 -> “构建阶段” -> “将二进制文件与库链接” -> 在 iOS 12 上不可用的框架的“状态”下定义为可选。
您还必须使用带有@available 标记的库来包装代码。

关于swift - 仅当 iOS 13 可用时如何导入特定框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63283497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com