致命错误:@SceneStorage 仅用于 SwiftUI 应用程序生命周期。:文件 SwiftUI,第 0 行
Posted
技术标签:
【中文标题】致命错误:@SceneStorage 仅用于 SwiftUI 应用程序生命周期。:文件 SwiftUI,第 0 行【英文标题】:Fatal error: @SceneStorage is only for use with SwiftUI App Lifecycle.: file SwiftUI, line 0 【发布时间】:2020-07-03 11:18:46 【问题描述】:我正在尝试使用 ios 14“SceneStorage”的新属性包装器,尽管它会产生此错误:
致命错误:@SceneStorage 仅适用于 SwiftUI 应用程序 Lifecycle.: 文件 SwiftUI,第 0 行
这是我的代码:
struct ContentView: View
@SceneStorage("isLoggedIn") var isLoggedIn = true
var body: some View
Text("Hello, World!).onAppear
print($isLoggedIn)
已更新.... 谢谢,@Asperi!。 确保将 Life Cycle 设置为 SwiftUI App。
【问题讨论】:
【参考方案1】:适用于 Xcode 12 / iOS 14 / SwiftUI 生命周期
您的项目看起来使用 SwiftUI 1.0 AppDelegate/SceneDelegate
(又名 UIKit 生命周期)
在 SwiftUI 生命周期中,您的应用主程序应该是这样的
@main
struct YourAppName: App
var body: some Scene
WindowGroup // << this introduces Scene, needed for SceneStorage
ContentView()
【讨论】:
谢谢。创建项目时,我将生命周期设置为 UIKit App Delegate。将其设置为 SwiftUI App 修复了它。以上是关于致命错误:@SceneStorage 仅用于 SwiftUI 应用程序生命周期。:文件 SwiftUI,第 0 行的主要内容,如果未能解决你的问题,请参考以下文章
Swift 2 - hitTest 函数 - 发现致命错误 nil