首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调度iOS后台任务以进行iCloud和UILocalNotification更新

调度iOS后台任务以进行iCloud和UILocalNotification更新
EN

Stack Overflow用户
提问于 2013-11-08 14:00:17
回答 2查看 518关注 0票数 5

我希望在我的应用程序中实现通知。应用程序通过iCloud共享数据,通知保存在iCloud共享的数据中。(这是一个鞋盒应用程序。)

不幸的是,我没有资源支持推送通知。

根据这份文件:

编号/doc/uid/SW1 40008194-CH102-SW1

对于不运行的应用程序,OS中唯一的推送通知类型是图标标记。

仍然是这样吗?如果是的话,没关系--我正在运行的Mac应用程序已经能够(1)检测iCloud更改,(2)确定新的本地通知是否需要调度或现有通知需要更新,以及(3)调度它们。所以添加推送支持并不是我想要的。

然而-我想知道如何从iOS方面来处理这个问题。如果我在我的Mac上安排了一个通知,并将其保存到iCloud上,那么我的应用程序on iOS如何在后台接收到这方面的通知呢?

如果iOS应用程序处于前台,我可以确认一切都很好。接收到iCloud通知,加载数据,重新安排通知。

但是,如果我的应用程序处于后台,或者根本没有运行,那么处理这个问题的最佳方法是什么?我知道后一种情况是我最有可能零控制的情况。但是,如果应用程序在后台,我会:

  1. 需要生成一个后台任务来定期检查数据更改?或,
  2. 是否有我可以订阅的通知,它只在iCloud数据更改时才通知我?

我找到了UIBackgroundModesUIBackgroundModes值,但我不确定这正是我想要的--我不是在进行抓取,我只是想在后台响应iCloud的更改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-15 11:55:24

你的选择有限。如果您负担不起远程通知,我认为背景提取实际上是一种很好的选择。使用背景提取,您的应用程序将在相对固定的时间间隔内被唤醒,并且能够检查是否有新的通知要显示给用户(或者已经删除的通知等等)。然后,您将能够更新本地通知以匹配。

票数 4
EN

Stack Overflow用户

发布于 2013-11-19 23:32:14

AFIK没有什么很好的方法来满足你的要求。背景提取可能是获取所需内容的一种方法,但它不会让您真正控制何时或多频繁执行它。

要使用的正确机制是远程通知。

我知道您“没有资源支持推送通知”。您是否可以考虑一个提供免费层的BaaS提供程序,并提供推送通知支持?我相信,解析StackMob都提供这方面的服务。

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

https://stackoverflow.com/questions/19860835

复制
相关文章

相似问题

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