Due to architectural changes that involved switching to SwiftUI the root - deep linking is not handled properly. Currently, when we call Linking.getInitialURL() to retrieve a URL that was used to launch the app we will always get null.
Previously we saved luanchOptions (which contained the deeplink URL) in the application:didFinishLaunchingWithOptions method but with SwiftUI we need to use UIWindowSceneDelegate methods or SwiftUI's onOpenURL.
However, after investigation there are some issues:
WindowSceneDelegate callbacks are called too late to set launchOptions on bridge.
SwiftUI's onOpenURL is called asynchronously and in order to render we need to get those parameters synchronously
Description
Due to architectural changes that involved switching to SwiftUI the root - deep linking is not handled properly. Currently, when we call
Linking.getInitialURL()
to retrieve a URL that was used to launch the app we will always getnull
.Previously we saved
luanchOptions
(which contained the deeplink URL) in theapplication:didFinishLaunchingWithOptions
method but with SwiftUI we need to useUIWindowSceneDelegate
methods or SwiftUI'sonOpenURL
.However, after investigation there are some issues:
onOpenURL
is called asynchronously and in order to render we need to get those parameters synchronously