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 搜索项启动?

我刚刚通过向这两种方法添加警报来签入我的应用程序。

当应用 运行 时,仅调用延续方法。当应用不是 运行 时,两种方法都会被调用。