Ios 在应用程序关闭时收到的通知中检索deeplink

Ios 在应用程序关闭时收到的通知中检索deeplink,ios,push,deep-linking,remote-notifications,Ios,Push,Deep Linking,Remote Notifications,我最近发现,当我的应用程序关闭时(我说的是完全关闭,不是在后台),我打开的任何推送都会启动应用程序,但就是这样,深度链接永远不会被考虑在内 经过调查,我意识到当应用程序关闭后,您通过推送打开它时,不会调用application:didReceiveMemoteNotification。由开发人员在application:didFinishLaunchingWithOptions中检查launchOptions字典,并查找UIApplicationLaunchOptions远程通知键的值,这意味着

我最近发现,当我的应用程序关闭时(我说的是完全关闭,不是在后台),我打开的任何推送都会启动应用程序,但就是这样,深度链接永远不会被考虑在内

经过调查,我意识到当应用程序关闭后,您通过推送打开它时,不会调用application:didReceiveMemoteNotification。由开发人员在application:didFinishLaunchingWithOptions中检查launchOptions字典,并查找UIApplicationLaunchOptions远程通知键的值,这意味着该应用程序是通过推送打开的

以下是以这种方式打开我的应用程序时启动选项的说明:

Printing description of launchOptions:
{
    UIApplicationLaunchOptionsRemoteNotificationKey =     {
        aps =         {
            alert =             {
                "action-loc-key" = "_push-title_";
                body = "_push-budy_";
            };
            "content-available" = 1;
        };
        azme =         {
            au = "_deeplink-url_";
            ci = "a-1";
            dt = b;
            pid = 5130;
        };
    };
}
因此,在不知道任何其他方法的情况下,我必须检查launchOptions中是否存在UIApplicationAunchActionsRemoteNotificationKey的值,然后获取键“azme”的值和键“au”的值,这似乎是一种完全错误的方法,然后像平常一样打开URL

我找不到更好/更传统的方法来做这件事,有吗


谢谢你的帮助

应用程序中捕获推送通知是正确的方法:didfishlaunchingwithoptions
。您可以将PN处理代码提取到外部方法,并在使用PN启动应用程序时调用它,以及PN是否在应用程序启动期间到达。