2013-12-11 205 views
0

我正在尝试使用Parse在iOS中安排推送通知。我只有一个免费帐户(这意味着我不能在网络后端安排通知),所以我想出了一个通过Parse安排通知的解决方案:与Parse.com安排iOS推送通知

在应用程序中,当您按发送通知时,您将文本以及发送通知的日期(使用代码发送标准PFPush代码)。然后我只是使用NSDate并每天检查日期以查看它是否与预定通知的日期相符。如果是,则发送通知;从而在预定的日期发送通知,如果不是匹配的日期,则什么也没有发生(不发送通知,并且应用在另外的24小时再次检查)。这是有效的,但是应用程序必须在通知计划发送时在前台打开(即,如果应用程序处于后台,则不检查日期和发送通知)。所以我的实际问题是我如何在后台运行所有这些,所以应用程序可以在我的iPad的后台,它仍然会检查日期并能够发布PFPush(推送通知)。

任何帮助或代码将不胜感激。

非常感谢,让我知道你是否需要更多信息!

+0

您使用的是ios 7吗? – jailani

+0

如果您使用IOS7,您可以使用此方法,并且您应该在info plist - (void)应用程序中注册backgroundMode:(UIApplication *)applicationFetchWithCompletionHandler: (void(^)(UIBackgroundFetchResult))completionHandler {} – jailani

+0

噢,对于模棱两可感到抱歉。是的,我正在使用iOS 7.我会尝试使用该代码,并让它知道它是否工作。谢谢 :) –

回答

0

在这种情况下

setMinimumBackgroundFetchInterval意味着它不是在一个间隔比所指定的值的情况下被调用。但是没有setMaximumBackgroundFetchInterval。因此,如果iOS决定每天只调用一次应用,或者每周只调用一次,则无论您的minimumBackgroundFetchInterval如何,都不会更频繁地调用您的应用。 AFAIK iOS决定何时调用performFetchWithCompletionHandler以及用户启动应用程序的频率。

在Xcode 5调试模式下,您可以从菜单强制进行后台提取:调试>模拟后台提取。 enter image description here