首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS中的定时任务

iOS中的定时任务
EN

Stack Overflow用户
提问于 2012-10-25 12:19:36
回答 2查看 150关注 0票数 0

这个问题是我的earlier question的扩展/替代(它没有收到任何响应)。我可以定期轮询服务器,而不是尝试实现推送通知。但是这个轮询需要在分配给后台任务的10分钟之后继续。

iOS中有没有像定时任务这样的东西(想想cron-job/守护进程)?

我能想到的另一种扭曲的方式是,如果我将twitter框架集成到我的应用程序中,并让我的服务器直接发送消息,它会唤醒我的应用程序吗?我知道这听起来真的很糟糕,因为如果通知被记录下来,iOS如何知道将通知发送到哪个应用程序……

感谢并期待一些回复:)

EN

回答 2

Stack Overflow用户

发布于 2012-10-25 12:26:55

你为什么反对使用推送通知呢?Urban Airship的基本套餐似乎允许每月免费发送1000000条推送消息。

不管怎么说,我想不出别的办法了。

票数 0
EN

Stack Overflow用户

发布于 2012-10-25 13:09:55

你想要实现的很可能是一个“不”,但我当时确实做了一些相当黑客的事情,所以这可能对你也可能不起作用(不能保证):

当应用程序收到通知时,它会触发应用程序委托的applicationDidLoad()方法,通知对象存储在"launchOptions“参数中。

在此方法中,您可以执行操作来轮询您的服务器。

所以我的想法是,设置一个本地通知,在你想要的日期触发。本地通知就像推送通知一样,即使你的应用被终止(后台进程终止),它们也可以执行

然后在你的应用代理的didFinishLaunchingOptions()中,你可以检查它是否是匹配的通知,如果是,那么执行你想要的服务器轮询逻辑,否则忽略。

注意:如果您的服务器轮询逻辑在另一个视图控制器中,请务必意识到这些视图控制器实际上可能不会被启动,直到您实际单击选项卡才能查看它们。现在,因为你的应用被终止了,并且没有运行,你显然不能点击标签。

第二个技巧是调用包含服务器轮询逻辑的视图控制器的getter " view“方法,例如:

代码语言:javascript
复制
// force iOS to initialize the view controller
[MyCustomVC view];

如你所见,这是非常黑客的,不推荐使用。

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

https://stackoverflow.com/questions/13061517

复制
相关文章

相似问题

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