有什么方法可以在 iOS 14 应用程序生命周期中调用 SceneDelegate 方法吗?
Is there any way to call SceneDelegate methods in iOS 14 app life cycle?
我们知道 Apple 大大简化了 SwiftUI 应用程序生命周期 (WWDC20)。我看过 Mr.Paul Hudson 关于 SwiftUI 新变化的视频,他在视频中解释了如何访问“@main 或 :App”结构中的 AppDelegate 方法。
我想知道是否有任何方法可以访问 SceneDelegate 方法?
提前致谢。 :)
SwiftUI 2.0 生命周期中现在没有 SceneDelegate
的访问权限。一些回调可以与 .onChange
一起用于 [.active, .inactive, .background] 状态,如图所示 for example here
或者...继续使用 UIKit 生命周期没有错
AppDelegate访问生命周期的例子
struct PodcastScene: Scene {
@Environment(\.scenePhase) private var phase
var body: some Scene {
WindowGroup {
TabView {
LibraryView()
DiscoverView()
SearchView()
}
}
.onChange(of: phase) { newPhase in
switch newPhase {
case .active:
// App became active
case .inactive:
// App became inactive
case .background:
// App is running in the background
@unknown default:
// Fallback for future cases
}
}
}
}
如果您添加一个框架配置,如 Firebase,您可以覆盖 init 并在此处输入您的代码。
struct PodcastScene: Scene {
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
TabView {
LibraryView()
DiscoverView()
SearchView()
}
}
}
}
我们知道 Apple 大大简化了 SwiftUI 应用程序生命周期 (WWDC20)。我看过 Mr.Paul Hudson 关于 SwiftUI 新变化的视频,他在视频中解释了如何访问“@main 或 :App”结构中的 AppDelegate 方法。
我想知道是否有任何方法可以访问 SceneDelegate 方法?
提前致谢。 :)
SwiftUI 2.0 生命周期中现在没有 SceneDelegate
的访问权限。一些回调可以与 .onChange
一起用于 [.active, .inactive, .background] 状态,如图所示 for example here
或者...继续使用 UIKit 生命周期没有错
AppDelegate访问生命周期的例子
struct PodcastScene: Scene {
@Environment(\.scenePhase) private var phase
var body: some Scene {
WindowGroup {
TabView {
LibraryView()
DiscoverView()
SearchView()
}
}
.onChange(of: phase) { newPhase in
switch newPhase {
case .active:
// App became active
case .inactive:
// App became inactive
case .background:
// App is running in the background
@unknown default:
// Fallback for future cases
}
}
}
}
如果您添加一个框架配置,如 Firebase,您可以覆盖 init 并在此处输入您的代码。
struct PodcastScene: Scene {
init() {
FirebaseApp.configure()
}
var body: some Scene {
WindowGroup {
TabView {
LibraryView()
DiscoverView()
SearchView()
}
}
}
}