iOS-UILocalNotification-在给定时间最多只能安排64个插槽

iOS-UILocalNotification-在给定时间最多只能安排64个插槽,ios,push-notification,uilocalnotification,Ios,Push Notification,Uilocalnotification,概述 我有一个iOS应用程序,可以在特定日期发送本地通知 我刚刚了解到,我在给定的时间只能安排64个通知 在某些情况下,由于64个插槽已满,我无法安排通知 因此,我将它们存储在数据库中,当用户响应通知时,我检查是否有可用的插槽,并安排剩余的通知 问题 当用户不响应通知时,我的代码不会执行,因此我无法安排剩余的通知 问题 这个问题有解决办法吗 我可以在特定时间执行一段代码(内务管理)吗 这方面有什么办法吗 您可能不想向用户发出有问题的信号,而只是在后台进行。如果用户对一个应用程序有64个通

概述

  • 我有一个iOS应用程序,可以在特定日期发送本地通知
  • 我刚刚了解到,我在给定的时间只能安排64个通知
  • 在某些情况下,由于64个插槽已满,我无法安排通知
  • 因此,我将它们存储在数据库中,当用户响应通知时,我检查是否有可用的插槽,并安排剩余的通知
问题

  • 当用户不响应通知时,我的代码不会执行,因此我无法安排剩余的通知
问题

  • 这个问题有解决办法吗
  • 我可以在特定时间执行一段代码(内务管理)吗
  • 这方面有什么办法吗

  • 您可能不想向用户发出有问题的信号,而只是在后台进行。如果用户对一个应用程序有64个通知,但尚未打开该应用程序,则他们可能没有使用该应用程序。一旦触发通知,它就不再位于阵列中。因此,每次发出通知时,您都有足够的空间。然而,他们仍然留在通知中心,你们必须自己清理

    通常最好不要向用户提出可能的问题,而是以一种在内部有意义的方式来处理这些问题,如果这是一种选择的话。查找appDelegate的委托方法,您很可能会找到处理您尝试执行的操作的方法

    我想我会发个帖子,以防你想接受答案


    祝你好运

    不确定你是否还需要这个。如何管理scheduledNotifications数组?因此,您可以检查阵列中是否有实际空间。或者,当阵列中的第一个项目已满时,您可以清空它,并让您的应用程序仍将其标记为需要跟进的项目。谢谢Micheal,您是rite,我可以检查阵列中是否有空间,然后安排任何挂起的通知。但我只能在应用程序打开时才能这样做。因此,如果用户不决定打开应用程序,我将无法检查是否有空间。我能想到的最好办法是创建一个数据库并存储所有待处理的通知。当用户打开应用程序时,应用程序将在可能的情况下(删除后/触发通知后)检查是否可以安排一些挂起的通知。同样,当应用程序未打开时,什么也做不了。在创建条目之前,还需要仔细检查您是否可以安排通知,否则最好告诉用户,他可能需要在每次触发通知时打开应用程序,以便在触发通知和打开应用程序时执行您的代码。感谢Michael的提示,是的,我想你说的有道理,如果用户没有打开应用程序,那么可能意味着他不再使用它了。当自动触发非重复通知时,它将从[[UIApplication sharedApplication]ScheduledLocalNotification]中删除,因此我认为不需要手动清除它们。当插槽可用时,我尝试安排任何挂起的通知。