与过去日期有关的UILocalNotification问题

时间:2012-02-04 20:14:29

标签: iphone ios xcode

我正在制作提醒应用,如果那里没有一百万。

  • 我让用户指定一个时间来提醒他一个待办事项。
  • 因此,假设用户指定需要在每周一上午9:00提醒他。
  • 当他关闭应用程序并进入后台时,我会创建一个UILocalNotification开火时间。
  • 在下周一上午9:00,用户收到通知。
  • 如果他启动我的应用程序并在其他日期/时间(不重要)添加另一个提醒,并通过单击主页按钮关闭我的应用程序,那么他会立即收到通知。
  • 这是因为第一个通知设置为过去的星期一

我怎样才能避免这种情况但仍然会在下周一发出通知?

我通过谷歌搜索找到了这个 “如果您指定过去的日期(或零),则会立即发送通知。”

1 个答案:

答案 0 :(得分:0)

所以,这就是我从你的问题中得到的:

  • 用户在星期一
  • 上午9:00 重复事件
  • 您为下一个星期一上午9:00
  • 安排了一个本地通知
  • 一个星期一上午9:00 发生;用户的事件触发
  • 用户发出另一个任意事件
  • 用户的第一个事件会像星期一上午9:00 一样触发,大概是因为星期一上午9:00 已经发生一旦

为了解决这个问题,您需要确保执行以下两项操作:

  1. 确保您发布了UILocalNotification

    //Manual Memory Management
    [yourLocalNotif release];
    
    //Automatic Reference Counting
    yourLocalNotif = nil;
    
  2. 确保在下一个时间重新安排重复事件。

  3. 如果这不是您想要的,请发布一些代码,我会尝试重新评估:)