Ios 在UILocalNotification启动后修改它的最佳方式是什么?

Ios 在UILocalNotification启动后修改它的最佳方式是什么?,ios,alert,uilocalnotification,Ios,Alert,Uilocalnotification,我理解您不能在安排UILocalNotification之后修改它。我的问题是,我想设置.repeatInterval,以便它每天在特定时间触发一次。然而,我希望内容每天都有所改变。因此,用户将警报设置为上午10点触发,每天上午10点会收到不同内容的警报,而无需重置警报 当调用didReceiveLocalNotification时,我正在考虑取消和重新安排,但这需要用户在下一个计划警报之前启动应用程序。有没有办法在触发警报后立即调用方法?不幸的是,除非您的应用程序在触发时位于最前端,否则您无法

我理解您不能在安排UILocalNotification之后修改它。我的问题是,我想设置.repeatInterval,以便它每天在特定时间触发一次。然而,我希望内容每天都有所改变。因此,用户将警报设置为上午10点触发,每天上午10点会收到不同内容的警报,而无需重置警报


当调用didReceiveLocalNotification时,我正在考虑取消和重新安排,但这需要用户在下一个计划警报之前启动应用程序。有没有办法在触发警报后立即调用方法?

不幸的是,除非您的应用程序在触发时位于最前端,否则您无法确定是否已触发本地通知

而且,正如您所说,您不能更改通知


所以我认为最好的办法是不要使用重复通知。为每一天设置不同的单一通知,比如说提前两周,为每个通知设置不同的消息,并希望用户在这段时间内运行应用程序,以便您可以“刷新”队列。也许只重复最后一条,以防万一,这样通知就永远不会停止——但当然,每次消息都是一样的。但是你对此无能为力。你不能强迫用户运行应用程序。

谢谢matt,我想我可能不得不这么做。如果是这样的话,我认为最好的办法是提前两周设置提醒。然后每两周重复一次。这样,至少如果他们不重新打开,他们可以回收14封邮件,而不是仅仅重复一封。这是一个很好的折衷方案。因此,当你的应用程序下次启动时,你可以四处看看,看看它是什么日期和时间,看看是否需要修改队列。有没有办法从我的应用程序委托调用Viewcontroller中的方法(比如didReceiveLocalNotification或didBecomeActive)?这样,我可以在应用程序打开时更新警报,但我不知道如何在应用程序委托中从VC调用方法。是的,当然,但您可能不需要。例如,有一个ApplicationIDBecMeactive通知。所以只要在你的视图控制器和presto中注册该通知,它就会在你的应用程序激活时被调用。但请确保这是一个始终存在的视图控制器!