iOS-推送的内容

iOS-推送的内容,ios,push,apple-push-notifications,payload,Ios,Push,Apple Push Notifications,Payload,我在谷歌上搜索了很多,但我找不到答案 我试图在应用程序处于后台时获取推送通知的内容/负载 方法: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 及 不起作用。如果应用程序(音频、gps或voip)没有任何后台模式,则方法-(无效)应用程序:(UIApplication*)应用程序didReceiveMemotentifica

我在谷歌上搜索了很多,但我找不到答案

我试图在应用程序处于后台时获取推送通知的内容/负载

方法:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions


不起作用。

如果应用程序(音频、gps或voip)没有任何
后台模式
,则方法
-(无效)应用程序:(UIApplication*)应用程序didReceiveMemotentification:(NSDictionary*)用户信息
不会立即调用,而是在用户按下“打开”按钮将应用程序置于前台后调用。如果他或她决定跳过通知,您对此无能为力,这意味着您需要在应用程序返回前台时刷新状态,您不能依赖推送通知来更新数据


更好的选择可能是使用徽章计数器来跟踪更改,您需要在服务器端进行计算。然后,如果前台的应用程序具有正的徽章编号,则您会更新数据并重置计数器。但是,这并不完美,因为通知的送达没有任何保证-您仍然需要手动检查徽章计数器(或者您可以说检查更改的数量)

调用了DidReceiveMotonification:方法?或者不调用?它只在应用程序位于前台,而推送通知到达-(void)application:(UIApplication*)application didReceiveMemotentification:(NSDictionary*)userInfo时调用。我将接收一个包含所有推送的数组,但这仅在应用程序已经位于前台的情况下才起作用。当用户按下Home(主页)按钮,然后收到一个按钮,然后启动应用程序。根据文档,我永远不会得到推送。此方法或
应用程序:didfishlaunchingwithoptions:
(有效负载存储在options中,键为
uiapplicationaunchoptionsremotenotificationkey)
)作为接收结果调用(如果应用程序未运行,则打开)推送通知。阅读苹果文档中的处理本地和远程通知部分,找出你做错了什么:我在这里找到了解决方案
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo