gpt4 book ai didi

iOS 报亭 : push notification does not launch the app in background

转载 作者:可可西里 更新时间:2023-11-01 05:57:05 28 4
gpt4 key购买 nike

我正在一个应用程序中实现报亭功能,尽管该应用程序收到了推送通知,但它并未以后台模式启动。
如果我点击应用程序启动的通知警报,我可以看到字典中存在“content-available”:1 并且问题已下载,但应用程序不会自动启动。

我已经添加到 plist:

<key>UIBackgroundModes</key>
<array>
<string>newsstand-content</string>
</array>

和 didFinishLaunchingWithOptions:

[[NSUserDefaults standardUserDefaults]setBool: YES forKey:@"NKDontThrottleNewsstandContentNotifications"]; // for testing purposes
[[NSUserDefaults standardUserDefaults] synchronize];

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeNewsstandContentAvailability )];

我还看到我的应用程序未显示在“设置”->“商店”->“自动下载”下(其他杂志显示在此处)。

我错过了什么吗?这应该在沙盒环境中工作吗?

最佳答案

一些说明

  1. 如果您不在报亭负载中发送“提醒”其中只有 content-available:1,不会添加任何内容通知中心。
  2. 报亭通知启动应用程序并不意味着该应用程序将出现在前台(就像用户点击应用程序图标一样)。这只是意味着如果应用程序不在后台,它将由 iOS 在后台启动 -> 调用 appDelegate 的 didFinishLaunchingWithOptions,应用程序应检查它是否是报亭通知以通过在报亭队列中添加 Assets 来安排下载。 Assets 路径可以是 NS 有效负载的一部分(提供<有效负载限制 256 字节)

NSDictionary *payload = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

if(有效载荷 && [[有效载荷 objectForKey:kContentAvailablePush] caseInsensitiveCompare:@"1"] == NSOrderedSame){ NSLog(@"因 NS 通知而启动");

关于iOS 报亭 : push notification does not launch the app in background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12218073/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com