SwiftUI中的某些设备上未发现XXX类型的ObservableObject错误

SwiftUI中的某些设备上未发现XXX类型的ObservableObject错误,swiftui,Swiftui,我遇到了以下错误 Fatal error: No ObservableObject of type Fruit found. A View.environmentObject(_:) for Fruit may be missing as an ancestor of this view.: file SwiftUI, line 0 重复在ContentView和ListView之间移动时会发生此错误。此外,这个错误只发生在iOS 13.5的iPhone上,如iPhone11Pro max和i

我遇到了以下错误

Fatal error: No ObservableObject of type Fruit found. A View.environmentObject(_:) for Fruit may be missing as an ancestor of this view.: file SwiftUI, line 0
重复在ContentView和ListView之间移动时会发生此错误。此外,这个错误只发生在iOS 13.5的iPhone上,如iPhone11Pro max和iPhone8 plus。iPad上不会出现这种情况。在iOS 13.4上不会发生。 Xcode版本是11.5(11E608c)

下面是再现错误的最小源代码。谁能告诉我这个错误是怎么发生的吗

导入快捷界面
类:ObservieObject{
@甜度:双倍
初始(甜度:双倍){
自我甜蜜
}
}
结构列表视图:视图{
@环境对象变量水果:水果
var body:一些观点{
VStack{
文本(字符串(水果、甜味))
}
.navigationBarItems(尾随:文本(“文本”))
}
}
结构ContentView:View{
var body:一些观点{
导航视图{
VStack{
NavigationLink(目标:ListView()){
文本(“打开”)
}
}
}
}
}
导入UIKit
导入快捷键
类SceneDelegate:UIResponder,UIWindowSceneDelegate{
变量窗口:UIWindow?
func场景(场景:UIScene,willConnectTo会话:UISceneSession,选项connectionOptions:UIScene.connectionOptions){
//使用此方法可以选择性地配置UIWindow`window`并将其附加到提供的UIWindowScene`scene`。
//如果使用情节提要,“窗口”属性将自动初始化并附加到场景。
//此委托并不意味着连接的场景或会话是新的(请参见'application:ConfigurationForConnectionSceneSession'。
//创建提供窗口内容的SwiftUI视图。
让contentView=contentView()
.环境对象(水果(甜度:123.4))
//使用UIHostingController作为窗口根视图控制器。
如果让windowScene=场景为?UIWindowScene{
let window=UIWindow(windowScene:windowScene)
window.rootViewController=UIHostingController(rootView:contentView)
self.window=window
window.makeKeyAndVisible()的
}
}
func sceneDidDisconnect(场景:UIScene){
//调用,因为系统正在释放场景。
//这会在场景进入背景后不久发生,或者在其会话被放弃时发生。
//释放与此场景关联的所有资源,这些资源可以在下次场景连接时重新创建。
//场景稍后可能会重新连接,因为它的会话没有必要被丢弃(请参见“应用程序:DidDiscardScenessessions”)。
}
func sceneDidBecomeActive(u场景:UIScene){
//当场景从非活动状态移动到活动状态时调用。
//使用此方法可重新启动场景处于非活动状态时暂停(或尚未启动)的所有任务。
}
func sceneWillResignActive(u场景:UIScene){
//当场景从活动状态移动到非活动状态时调用。
//这可能是由于临时中断(如来电)造成的。
}
func scenewillenterforment(u场景:UIScene){
//当场景从背景过渡到前景时调用。
//使用此方法可以撤消在进入背景时所做的更改。
}
func sceneDidEnterBackground(u场景:UIScene){
//当场景从前景过渡到背景时调用。
//使用此方法可以保存数据、释放共享资源并存储足够的场景特定状态信息
//将场景恢复到其当前状态。
}
}