我在我的应用程序中启用了通用链接。处理这些链接的相应委托调用是
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
if canHandle(userAcitivity) {
// Handle the universal link.
}
else {
// ⛔️ Don't handle the universal link.
return false
}
}不,我想知道当我从这个方法返回false时到底会发生什么。一开始,我认为Safari只会打开链接,就像它没有启用通用链接一样。然而,我认为我的应用程序仍然处于打开状态,文档声明:
如果不实现此方法,或者如果实现返回
false,则iOS将尝试创建一个文档,以便应用程序使用URL打开该文档。
这到底是什么意思?
创建了什么样的文档,我的应用程序是如何被告知的?
发布于 2017-03-24 20:20:02
实际上,对于continueUserActivity,返回值的描述是:
返回true表示您的应用程序处理了该活动,或者返回false以让iOS知道您的应用程序没有处理该活动。
如果你从这个函数中返回是的话,操作系统就会明白不需要对NSUserActivity进行进一步的处理--你的应用程序已经完成了所有需要做的事情。如果您从此函数返回NO,操作系统将理解可能发生了需要OS处理的活动,并且可能需要处理。
您可以在苹果的Handoff文档中获得更多关于这一切的背景信息,以下是:参考文件/doc/uid/uid 40014338
https://stackoverflow.com/questions/42977695
复制相似问题