我最近发现,当我的应用程序关闭时(我说的是它完全关闭,而不是在后台),我打开的任何带有深度链接的推送都会启动应用程序,但就是这样,深度链接永远不会被考虑在内帐户。
经过调查,我意识到当应用程序关闭并通过推送打开它时,应用程序:didReceiveRemoteNotification 不会被调用。由开发人员在 application:didFinishLaunchingWithOptions 中检查 launchOptions 字典,并查找 UIApplicationLaunchOptionsRemoteNotificationKey 的值,这意味着应用程序是通过推送打开的。
以下是以这种方式打开我的应用程序时对 launchOptions 的描述:
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中检查UIApplicationLaunchOptionsRemoteNotificationKey的值是否存在,然后获取键“azme”的值,以及键“au”的值,这似乎完全错误的方法,并像往常一样打开 URL。
我找不到更好/更传统的方法来做到这一点,有吗?
谢谢您的帮助 !