iOS Swift 2.3: 应用程序 restorationHandler 的正确语法?

iOS Swift 2.3: correct syntax for application restorationHandler?

我正在尝试使用 Swift 2.3.

在我的 iOS 项目中设置 Firebase 动态链接

当我在 AppDelegate 中添加此函数时(如本 page 底部所报告),出现错误:

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
}

知道 Swift 2.3 的正确语法是什么吗?

您使用的方法是swift3,这里是swift2.3

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

}

如果你想在深度 link 上添加限制,那么像这样实现波纹管方法 首先调用此委托方法。

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


    return userActivityType == NSUserActivityTypeBrowsingWeb ? true : false

}

如果你想 link 哪个用户点击了或者如果你在单个应用程序中有多个深度 link 然后想要识别那么你可以这样得到。

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
}