Handling a user tapping on a Siri IntentsUI to go to the correct view in app when the app is terminated / NOT in the background

I have a Siri Intent that displays a simple UI. When the user taps on it, the app is launched.

When the app is in the background, I use the following code
in the Scene Delegate to capture what the user did and take the user to the right view. It works as expected.

Code Block 				func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {						print("CONTINUE USER ACTIVITY")						guard let intent = userActivity.interaction?.intent as? WasteWizardIntent else {								print("AppDelegate: WasteWizardIntent - FALSE")								//return false								return						}						print("AppDelegate: WasteWizardIntent - TRUE")						print(intent)						appState.selectedTab = .wastewizard						appState.deepLinkActionSheet = true						appState.deepLinkString = intent.garbage!						//contentView.wasteWizard.viewModel.goToWasteItem(for: intent.garbage!)				}


However, I can't figure out what to do when the app is launched when it is NOT in the background.

My understanding is that UIScene.ConnectionOptions should be populated, but it's empty.

In the SceneDelegate
Code Block scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions)
method. When I put a breakpoint, the userActvity, intent and handoffUserActivityType are all nil.

Code Block if let windowScene = scene as? UIWindowScene {								let window = UIWindow(windowScene: windowScene)								window.rootViewController = UIHostingController(rootView: contentView)								RootAlerter.shared.rootViewController = window.rootViewController								self.window = window								window.makeKeyAndVisible()								let userActivity = connectionOptions.userActivities								let string = connectionOptions.handoffUserActivityType								let intent = userActivity?.interaction?.intent as? WasteWizardIntent								print("handoff type \(connectionOptions.handoffUserActivityType)")				}


I also tried the following methods but they never get called:

Code Block         func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) 				func scene(_ scene: UIScene, didUpdate userActivity: NSUserActivity)				func scene(_ scene: UIScene, willContinueUserActivityWithType userActivityType: String) 

Also tried this in the AppDelegate:
Code Block     private func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool 



When your app is launched for the first time, check the connectionOptions.userActivities property:
Code Block swiftfunc scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {    for userActivity in connectionOptions.userActivities {        // ...    }}


If that still doesn't solve your problem, please use Feedback Assistant to create a feedback describing precisely what your setup is.
Handling a user tapping on a Siri IntentsUI to go to the correct view in app when the app is terminated / NOT in the background
 
 
Q