所以我添加了didReceiveRemoteNotification
委托来处理静默推送通知
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
应该在后台调用此方法以在通知用户之前更新内容,以便用户可以打开应用程序并立即显示新内容。
但是这种方法永远不会在后台调用。我试图调试这个问题,但没有成功。令人惊讶的是,如果我的应用程序处于前台,我可以正确调用此方法,并且我可以轻松检查content-available
以更新UI。
有人可以帮助我解决为什么didReceiveRemoteNotification:fetchCompletionHandler
未在后台调用的问题?
答案 0 :(得分:0)
答案 1 :(得分:0)
问题与不正确的有效负载有关。
我在aps之外得到content-available
而不是它应该是aps的一部分。
有效负载:
{
"_" = "asd-dfsd-werdsf";
aps = {
};
"content-available" = 1;
}
纠正有效载荷:
{
"_" = "asd-dfsd-werdsf";
aps = {
"content-available" = 1;
};
}