Ios7 UILocalNotification在1天、2天、3天之后发出

Ios7 UILocalNotification在1天、2天、3天之后发出,ios7,uilocalnotification,Ios7,Uilocalnotification,我有一个要求,我需要提醒用户说,每一天或每两天之后等等,即使应用程序并没有运行 我检查了UILocalNotification类,其中有一个属性:repeatInterval。在这里,我们可以传递以下值之一: NSEraCalendarUnit = kCFCalendarUnitEra, NSYearCalendarUnit = kCFCalendarUnitYear, NSMonthCalendarUnit = kCFCalendarUnitMonth, NSDayCa

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

我检查了UILocalNotification类,其中有一个属性: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)
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答案是你不能,我已经面对了这个问题,对此我真的很失望。事实上,我已经(不知何故)解决了这个问题每次应用程序打开时重新安排本地通知。我的解决方案基于这样一个假设,即用户将在第一次notif和最后一次之间的时间间隔内使用应用程序

  • 我创建了一定数量的通知(每个应用的限制是64个),通常是10个
  • 当用户打开应用程序时,我会重新安排它们,但数量始终保持不变。假设3个已经被触发,我只会重新安排3个被触发

除非你将应用程序设置为进行后台处理,否则这是不可能的。在苹果看来,这可能不是使用后台处理的有效理由。我建议你在应用程序运行时(一天、两天、一周等)设置所有需要的提醒当/如果用户返回到您的应用程序,您将删除将来仍存在的所有通知,并再次设置新通知。