iOS Swift 2.3:应用程序恢复处理程序的正确语法?
Posted
技术标签:
【中文标题】iOS Swift 2.3:应用程序恢复处理程序的正确语法?【英文标题】:iOS Swift 2.3: correct syntax for application restorationHandler? 【发布时间】:2016-11-18 09:20:36 【问题描述】:我正在尝试使用 Swift 2.3 在我的 ios 项目中设置 Firebase 动态链接。
当我在 AppDelegate 中添加此函数时(如 page 底部所报告的那样),我收到错误:
未知属性“转义”
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 的正确语法是什么吗?
【问题讨论】:
【参考方案1】:你使用的方法是swift3
,这里是swift2.3
的方法
func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool
【讨论】:
【参考方案2】:如果你想对深度链接添加限制,那么像这样实现波纹管方法 首先调用这个委托方法。
func application(application: UIApplication, willContinueUserActivityWithType userActivityType: String) -> Bool
return userActivityType == NSUserActivityTypeBrowsingWeb ? true : false
如果您想链接哪个用户有点击,或者如果您在单个应用中有多个深层链接然后想识别,那么您可以这样做。
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
【讨论】:
以上是关于iOS Swift 2.3:应用程序恢复处理程序的正确语法?的主要内容,如果未能解决你的问题,请参考以下文章
问题 XCode 8,Swift 2.3 存档版本在 IOS 9.2.1 -> IOS 9.0 上启动时崩溃
Swift 中的 iOS 8 和 9:首次启动期间 [警告:无法创建正在进行的恢复标记文件]
Firebase queryEqualToValue 在 Swift 2.3 中获取密钥
Socket.io 连接恢复为轮询,从不触发“连接”处理程序