iOS“本地”推送通知

我正在寻找一种方法来进行“本地”推送通知。 我无法弄清楚我该怎么做,所以我正在寻求一些帮助。 我需要的是:

  • 一种在24小时内向未打开应用程序的用户发送通知的方式。 (或者一个int没有改变)

我真的希望你们中的一个有时间来帮助我,谢谢!

这非常简单:

1)当应用程序closures时,安排一个本地通知,将在24小时内触发

- (void)applicationDidEnterBackground:(UIApplication *)application { UILocalNotification *notification = [[UILocalNotification alloc] init]; notification.fireDate = [[NSDate date] dateByAddingTimeInterval:60*60*24]; notification.alertBody = @"24 hours passed since last visit :("; [[UIApplication sharedApplication] scheduleLocalNotification:notification]; } 

2)如果应用程序被打开(在本地通知触发之前),取消本地通知

 - (void)applicationDidBecomeActive:(UIApplication *)application { [[UIApplication sharedApplication] cancelAllLocalNotifications]; } 

你可以使用UILocalNotification来达到这个目的。

并实现你的UIApplication applicationWillTerminateapplicationDidEnterBackground委托,如:

 - (void)applicationWillTerminate:(UIApplication *)application { [self scheduleNotification]; } - (void)applicationDidEnterBackground:(UIApplication *)application { [self scheduleNotification]; } - (void)scheduleNotification { UILocalNotification *locNot = [[UILocalNotification alloc] init]; locNot.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24]; [[UIApplication sharedApplication] scheduleLocalNotification: locNot]; } 

当你进入你的应用程序,你需要取消这个通知。 所以实现applicationDidBecomeActive就好;

 - (void)applicationDidBecomeActive:(UIApplication *)application { [[UIApplication sharedApplication] cancelAllLocalNotifications]; } 

UILocalNotification将适合您的要求苹果文档