Search code examples
iosswiftswift5

iOS Swift 5 Deeplink userActivity Method not called


In Swift 4 it's working fine in all device and iOS versions.

After upgrading to swift 5 deeplink open the app, But userActivity method is not called.

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
        guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
        let url = userActivity.webpageURL
        else { return false }
        print(url)
        return true
    }

Our App support iOS 10 and above.


Solution

  • restorationHandler Callback type has been changed from [Any] to [UIUserActivityRestoring] then it's working fine for me.

    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
            guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
            let url = userActivity.webpageURL
            else { return false }
            print(url)
            return true
        }