1天,2天,3天后的UILocalNotification

时间:2014-03-04 09:46:36

标签: ios7 uilocalnotification

我有一个要求,我需要提醒用户说每天或每两天后等等,即使应用程序没有运行。

我查看了UILocalNotfication类,其中有一个属性: repeatInterval 。在这里,我们可以传递其中一个值:

   NSEraCalendarUnit = kCFCalendarUnitEra,
   NSYearCalendarUnit = kCFCalendarUnitYear,
   NSMonthCalendarUnit = kCFCalendarUnitMonth,
   NSDayCalendarUnit = kCFCalendarUnitDay,
   NSHourCalendarUnit = kCFCalendarUnitHour,
   NSMinuteCalendarUnit = kCFCalendarUnitMinute,
   NSSecondCalendarUnit = kCFCalendarUnitSecond,
   NSWeekCalendarUnit = kCFCalendarUnitWeek,
   NSWeekdayCalendarUnit = kCFCalendarUnitWeekday,
   NSWeekdayOrdinalCalendarUnit = kCFCalendarUnitWeekdayOrdinal,
   NSQuarterCalendarUnit = kCFCalendarUnitQuarter,
   NSWeekOfMonthCalendarUnit = kCFCalendarUnitWeekOfMonth,
   NSWeekOfYearCalendarUnit = kCFCalendarUnitWeekOfYear,
   NSYearForWeekOfYearCalendarUnit = kCFCalendarUnitYearForWeekOfYear
   NSCalendarCalendarUnit = (1 << 20),
   NSTimeZoneCalendarUnit = (1 << 21)

因此,如果我需要每天安排通知,我可以使用NSDayCalendarUnit,但我发现没有办法安排它。

如果应用正在投放,我可以在applicationDidRecieveLocalNotification中使用fireDate [[NSDate date] dateByAddingTimeInterval:48*60*60]触发新通知,但就我而言,即使应用未运行,我也需要支持: - (

请建议。

1 个答案:

答案 0 :(得分:1)

答案是,你不能,我已经遇到过这个问题,我对此感到非常失望。实际上我已经解决了(不知何故)每次应用程序打开时重新安排本地通知。我的解决方案基于以下假设:用户将在第一个通知和最后一个通知期间使用应用程序

  • 我创建了一定数量的通知(限制为64个应用),通常为10
  • 当用户打开应用程序时,我会重新安排它们,但总是保持相同的数量。假设已经解雇了3个,我只重新安排了3个被解雇的