即使仅在后台运行,也每天执行任务

时间:2012-03-23 10:37:45

标签: objective-c cocoa-touch uilocalnotification

我需要我的应用程序每天执行后台任务,但它不符合Apple's specification在后台运行。

这些都不是:音频,位置,VOIP,新闻台,外部配件,蓝牙中心。

我打算使用本地通知,但重点是,如果用户没有打开应用程序(并且只是将其留在后台),我就无法计划新的本地通知。

在这种情况下我该怎么做?

2 个答案:

答案 0 :(得分:1)

制作别的东西。

说真的,如果你的应用程序至少在技术上不符合其中一个类别,那么你将无法以一种让你获得App Store批准的方式开展后台工作。< / p>

我见过的应用程序在其中一个类别中添加了与其实际目的正交的特定功能,可以在后台运行;例如,有几个天气应用程序可以播放连续的音频文件 - 其中一个可用的声音是静音 - 以便能够使用实时数据更新锁定屏幕的“正在播放”的图像。如果您不介意用户无法收听任何其他音乐,并且您的应用持续有效(这可能会导致额外的电池消耗),那可能会有效。但是,如果你试图让你的应用程序在后台无形地做事情而不干扰任何其他事情,那么就会让你进入App Store,你可能会运气不好。

答案 1 :(得分:0)

四个选项:

  • 去越狱
  • 尝试作为其中一种类型的应用进入应用商店,构成使用其中一种类型的功能。
  • (我最喜欢的)真的重新考虑你的系统,是否真的有必要安排后台任务?用户打开应用程序时是否无法等待?该加载可以在后台执行。你能不能将一些工作卸载到网络服务器上?你在收集数据吗?未经用户同意,你不应该这样做。
  • 让您的用户知道对他来说很重要(他是使用它的人吗?)他每天打开一次应用程序。

我想我已经涵盖了除了Noah已经涵盖的所有选项之外的所有选项。