iOS Corespotlight 搜索:当应用不是 运行
iOS Corespotlight search: When app is not running
当应用程序 运行 时,系统会调用 continueUserActivity
方法,在该方法中我将深度 linking 处理到正确的位置。但是,当应用不是 运行 时,永远不会调用此函数。我相信在应用程序不是 运行 的情况下,调用进入 application:didFinishLaunchingWithOptions:
。
public override bool ContinueUserActivity(UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
if (userActivity.UserInfo.ContainsKey(CSSearchableItem.ActivityIdentifier))
{
// do stuff to handle deep link
}
}
当应用程序在后台时,上面的实现工作正常,但当我关闭它时,搜索结果不再正确 link。
关于如何在 application:didFinishLaunchingWithOptions:
中处理此问题的任何线索?有没有办法判断应用程序是否专门从 corespotlight 搜索项启动?
我刚刚通过向这两种方法添加警报来签入我的应用程序。
当应用 运行 时,仅调用延续方法。当应用不是 运行 时,两种方法都会被调用。
当应用程序 运行 时,系统会调用 continueUserActivity
方法,在该方法中我将深度 linking 处理到正确的位置。但是,当应用不是 运行 时,永远不会调用此函数。我相信在应用程序不是 运行 的情况下,调用进入 application:didFinishLaunchingWithOptions:
。
public override bool ContinueUserActivity(UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
if (userActivity.UserInfo.ContainsKey(CSSearchableItem.ActivityIdentifier))
{
// do stuff to handle deep link
}
}
当应用程序在后台时,上面的实现工作正常,但当我关闭它时,搜索结果不再正确 link。
关于如何在 application:didFinishLaunchingWithOptions:
中处理此问题的任何线索?有没有办法判断应用程序是否专门从 corespotlight 搜索项启动?
我刚刚通过向这两种方法添加警报来签入我的应用程序。
当应用 运行 时,仅调用延续方法。当应用不是 运行 时,两种方法都会被调用。