UILocalNotification:每 2 个月、4 个月、6 个月重复一次?

UILocalNotification: Repeat every 2 months, 4 months, 6 months?

我想以 2 个月、4 个月和 6 个月的间隔安排本地通知。

根据可用的 NSCalendarUnits,我看不出这是怎么可能的。

有什么建议吗?

我已经使用以下 hack 实现了这种功能。

- (void)application:(UIApplication *)application didReceiveLocalNotification
(UILocalNotification *)notification
{
    if ([notification.alertBody isEqualToString:@"your notification's alertBody"])
    {
       //reschedule your notification for 2 months
    }
}

只需在您的应用程序的委托中使用上述方法appdelegate.m

很遗憾,这是不可能的。 NSCalendarUnit 仅适用于单元重复。
考虑到您不能安排超过 64 个本地通知,您有 3 种可能性。

  1. 如果您知道永远不会超过该限制,请安排所有需要的通知
  2. 制定一个只安排一定数量通知的算法,当用户进入您的应用程序时删除旧通知并重新安排更多通知。为此,使用 ID 标识每个通知并将其附加到信息字典。
  3. 创建一个注册用户选项的 Web 服务,并在需要时使用服务器推送通知(推送通知)