知道如何仅在 iOS 版本超过 iOS 13 时导入 SwiftUICharts 框架吗?
我通过“文件”>“Swift 包”>“添加包依赖项”添加了此框架。
我的应用程序目标必须是 iOS 10。
我将此框架导入到 swiftui 控制器中,该控制器仅显示目标是否超过 iOS 14,因此可以在那里使用它。但我不知道怎么办。在这种情况下,简单的@available 不起作用。
编辑。这是我的代码:
分析新控制器:
#if !arch(arm)
import SwiftUI
@available(iOS 14, *)
struct AnalyticsNew: View {
var body: some View {
Home()
}
}
@available(iOS 14, *)
struct AnalyticsNew_Previews: PreviewProvider {
static var previews: some View {
AnalyticsNew()
}
}
@available(iOS 14, *)
struct Home : View {
//... some code
}
#endif
Analytics View 控制器根据 iOS 版本显示正确的控制器:
#if canImport(SwiftUI)
import SwiftUI
#endif
import UIKit
class AnalyticsView: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let child = createViewController()
addChild(child)
child.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
child.view.frame = view.bounds
view.addSubview(child.view)
child.didMove(toParent: self)
}
func createViewController() -> UIViewController {
if #available(iOS 14, *) {
#if !arch(arm) //compatible SwiftUI IOS <10
return UIHostingController(rootView: AnalyticsNew())
#else
return AnalyticsOld()
#endif
} else {
return AnalyticsOld()
}
}
}
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)