私は現在SceneDelegate
とAppDelegate
を使用しているSwiftuiアプリに取り組んでいます。 UIKit
structとSwiftUI
などがある場合は、ライフサイクルをApp
からscenes
に変換できる方法を知りたいです。
また、CoreDataとPersistentContainersに対応する方法を知り、これらを私たちの環境に注入したいと思います。
また、UIApplicationDelegateAdapter
をAppDelegate
を挿入しましたが、@main
は私にエラーを与えています
'main()'はiOS 14.0以降でのみ利用可能です
私は初めに@available (iOS 14.0, *)
を使っています:
import SwiftUI
@available(iOS 14.0, *)
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
このようなことをすることで、SceneDelegate
コードはどこに移動します。私はまだこの変換がどのように進んでいるかをかなり混乱しています。私はAppleが彼らのセッションや何かでこれについて話しているのを見たことがありません。助けが本当に感謝されます。
scenedelegateコードはどこにありますか。
@available(iOS 14.0, *)
@main
struct MyApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
@Environment(\.scenePhase) private var scenePhase
var body: some Scene {
WindowGroup { // << this is a scene
ContentView()
.onChange(of: scenePhase) { phase in
switch phase {
case .active:
print(">> your code is here on scene become active")
case .inactive:
print(">> your code is here on become inactive")
case .background:
print(">> your code is here on go in background")
default:
print(">> do something else in future")
}
}
}
}
}
_