首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >(静默) RemoteNotification

(静默) RemoteNotification
EN

Stack Overflow用户
提问于 2015-05-27 17:17:16
回答 1查看 54关注 0票数 0

在一个使用远程通知(来自Parse.com)的iOS应用程序中,我花了一些时间研究这个主题,得出的结论是我不应该在后台使用远程通知,或者可能使用静默通知。

但是silent notification看起来相当复杂。

例如:

在此代码中:

代码语言:javascript
复制
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    NSLog(@"application:didReceiveRemoteNotification:fetchCompletionHandler:");
    completionHandler(UIBackgroundFetchResultNewData);
}

添加最后一行(completionHandler)可以防止出现错误消息。但是这到底是做什么的呢?这个completionHandler是从哪里来的?

我从来没有接触过静默通知,我有点迷失了。

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 17:32:12

最后一行是补全块,当你的应用程序在后台时将被调用。

代码语言:javascript
复制
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo

当你的应用程序在后台或前台模式下运行时,会调用上面的方法。

代码语言:javascript
复制
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler

如果启用了远程通知后台模式,则当远程通知到达时,系统会启动应用程序(或将其从挂起状态唤醒),并将其置于后台状态。

当远程通知到达时,系统将通知显示给用户,并在后台启动应用程序(如果需要),以便它可以调用此方法。在后台启动应用程序可以让您有时间处理通知并下载与之相关的任何数据,从而最大限度地缩短通知到达和向用户显示数据之间所经过的时间。

如果你需要更多的澄清,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30478101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档