Intégration de siri

Bonjour à tous,
j’ai trouvé ce tuto pour intégrer Siri à mon application iOs.
Je comprends que Siri s’intègre de différentes manières, je pensais que ça allait être plus simple que ça … je ne voulais pas de phase d’apprentissage forcément, mais simplement avoir des interactions fixées à l’avance. Sans doute n’ai-je pas tout saisi de Siri.

Ma question est : codant une app en swiftui, et n’ayant qu’un AppDelegate et SceneDelegate sans viewDidLoad, comment intégrer la dernière partie de ce tuto (qui a besoin de viewDidLoad) ?

Je suis très novice en SwiftUI, je n’en ai pas la moindre idée ; y a-t-il un moyen de faire coexister dans la même app une partie en SwiftUI et une partie en UIKit ?

Maxime en parle dans ces vidéo sur SwiftUI (que je n’ai pas regardé, d’ailleurs !). Partie 2.6 si je me souviens bien.

https://www.hackingwithswift.com/quick-start/swiftui/how-to-respond-to-view-lifecycle-events-onappear-and-ondisappear

Je me réponds :
On peut faire ça dans AppDelegate, la méthode :

class AppDelegate: UIResponder, UIApplicationDelegate {
    func application( **_** application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: **Any** ]?) -> Bool {
    ...
        donateInteraction()
    ...
    }

    func donateInteraction() {
            let intent = IncrementIntent()
            intent.suggestedInvocationPhrase = "Increment the sets counter"
            let interaction = INInteraction(intent: intent, response: nil)
            interaction.donate { (error) in
                if let error = error as NSError? {
                    print("Interaction donation failed: \(error.description)")
                } else {
                    print("Successfully donated interaction")
                }
            }
    }
...
}

Inconvénient :
J’ai besoin d’avoir accès à un ObservableObject « ChronoState », que je dois populer/injecter à l’aide de la méthode .environmentObject(chronoState)…
Je la déclare dans le SceneDelegate.

Question : comment je peux la récupérer à partir de l’AppDelegate.
Sans ça, je crois que je vais devoir tout mettre en static.

Excellente littérature, pas toujours conforme aux standards d’une architecture qui satisfasse le souci de Maxime de la séparation des données, parfois un peu déstructuré, mais bon et instructif par ailleurs…