我在我的应用中启用了通用链接。处理这些链接的相应委托调用是
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会简单地打开链接,就像没有启用通用链接一样。但是,我认为我的应用仍处于打开状态且documentation处于状态:
如果您未实现此方法或您的实现返回
false
,iOS会尝试为您的应用创建一个文档,以便使用网址打开。
创建了哪种文档以及如何通知我的应用程序?
答案 0 :(得分:0)
实际上,对于continueUserActivity,返回值的描述是:
返回true表示您的应用处理了该活动,或者返回false以让iOS知道您的应用未处理该活动。
如果您从此功能返回YES,操作系统将会理解不需要进一步处理NSUserActivity - 您的应用已完成了所有需要完成的工作。如果从此函数返回NO,操作系统将理解可能已发生需要OS处理的活动,可能需要处理。
您可以在Apple的Handoff文档中获得有关所有这些内容的更多背景信息,例如:https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/Handoff/HandoffFundamentals/HandoffFundamentals.html#//apple_ref/doc/uid/TP40014338