2012-10-25 27 views
0

此问题是我的earlier question的扩展/替代方案(未收到任何回复)。我没有试图实现推送通知,我可以定期轮询服务器。但是这个轮询需要持续超过分配给后台任务的10分钟。iOS中的计时任务

是否有像iOS中的定时任务(想想cron-jobs/daemons)?

我能想到的另一种扭曲方式是,如果我将twitter框架集成到我的应用程序中并让我的服务器发送直接消息,它会唤醒我的应用程序吗?我知道这听起来很蹩脚的,如如何将iOS的知道哪些应用,以提供通知,如果通知RECD ...

感谢,并期待一些答复:)

+0

“有没有类似iOS中的定时任务(想想cron-jobs/daemons)?” - 第 – sosborn

回答

0

你为什么反对使用推送通知无论你想要做什么? Urban Airship似乎允许免费发送每月1000000推送消息的基本计划。

无论如何,我想不出任何其他方式。

+0

Hello EarlyRiser,对不起,我引用了问题中的错误线索。我正在为客户开发这个功能,用户可以在设置中使用它,通过WiFi访问公司的内部服务器,但不能访问互联网(安全和基础设施限制)。因此,APNS不会为我工作。抱歉的混淆。企业分销也不是一种选择,因为它也需要交付给客户的客户。企业帐户的法律条款不允许这样做。 – ameyazing

0

什么你想实现很可能是一个“不”,但我没有做一些漂亮一些的hackish东西回来的话,所以这可能会或可能不会为你工作(无担保):

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

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

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

然后在你的应用程序委托的didFinishLaunchingOptions()中,你可以检查它是否匹配通知,然后执行你想要的服务器轮询逻辑,否则忽略。

注意:如果您的服务器轮询逻辑位于另一个视图控制器中,则意识到这些视图控制器实际上可能不会启动,直到您实际单击该选项卡才能查看它们。现在,因为您的应用已终止并且未运行,您显然无法点按选项卡。

第二黑客是调用包含服务器轮询逻辑e.g您的视图控制器的消气“视图”的方法:

// force iOS to initialize the view controller 
[MyCustomVC view]; 

正如你所看到的,非常hackish的,不推荐。

+0

你好张,确实很有趣。在我花时间试用这个产品之前,你能告诉我这是不是一种应用程序商店的安全方法吗?我的应用必须在应用商店中托管。谢谢 – ameyazing

+0

我发布了一个使用这些黑客的应用程序。我写的第一个应用程序的功能之一(现在你知道它为什么如此黑客)包括区域监视功能。我们需要一种方式,在应用程序从终止状态重新启动并进入区域后,向用户展示交易。这就是我发现这两个黑客的地方。似乎工作在我的情况下,应用程序是在应用程序商店:) – Zhang

+0

你好,张,我昨天试图你砍,但无法得到它的工作。直到应用程序再次进入前台,才会调用可执行代码。你能说明你点了一小段代码吗?你可以假设我的服务器轮询代码在AppDelegate中,所以我不需要调用任何视图控制器。 – ameyazing