0

I am trying to setup Firebase Dynamic Links in my iOS project using Swift 2.3.

When I add this function in the AppDelegate (as reported at the bottom of this page), I get the error:

Unknown attribute 'escaping'

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    guard let dynamicLinks = FIRDynamicLinks.dynamicLinks() else {
       return false
    }
    let handled = dynamicLinks.handleUniversalLink(userActivity.webpageURL!) {
       (dynamiclink, error) in
       // ...
    }
    return handled
}

any idea which is the correct syntax for Swift 2.3?

Daniele B
  • 19,801
  • 29
  • 115
  • 173

2 Answers2

1

The method which you are using is for swift3, here is the method for swift2.3

func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {

}
Rajat
  • 10,977
  • 3
  • 38
  • 55
1

if you want to add restriction on deep link then implement bellow method like this this delegate method call first.

func application(application: UIApplication, willContinueUserActivityWithType userActivityType: String) -> Bool {


    return userActivityType == NSUserActivityTypeBrowsingWeb ? true : false

}

if you want to link which user have click or if you have multiple deep link in single app then want to identify then you can get like this.

func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool{
    // pass the url to the handle deep link call
    print(userActivity.webpageURL)
    //NSURLComponents
    return true
}
jignesh Vadadoriya
  • 3,244
  • 3
  • 18
  • 29