我正在以重复间隔进行警报应用。我的问题是,即使用户点击本地通知,返回到应用程序,然后返回到手机的主屏幕,UILocalNotification
仍然每分钟都会点火。我知道[[UIApplication sharedApplication] cancelAllLocalNotifications];
并将其放入我的viewDidLoad
方法中。有什么建议我可以解决这个问题吗?
答案 0 :(得分:1)
将它放在viewDidLoad
中对某些情况有好处,而不是你的。考虑何时调用viewDidLoad
:
在控制器的视图加载到内存后调用。
换句话说,下次调用它是在你的小ARC
朋友从内存中释放它之后。所以,是的,最终会再次调用 cancelAllLocalNotifications
,而不是当用户将应用程序放在后台然后将其返回到前台时,因为它仍然在内存中有一个主页;下次特定视图加载到内存时将调用它。
此外,这可能不是好逻辑,因为每个用户都会这样做,即使他们不想取消重复。
最终,你必须创建额外的逻辑来破译哪些用户,例如,使用适合你和你的项目的任何资源点击'贪睡'或'取消'。就个人而言,我会引导您使用基于类别的通知,这样您就可以根据需要取消它,而不是“以防万一”。 See here如何设置它们。