Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UILocalNotification:每2个月、4个月、6个月重复一次?_Ios_Iphone_Uilocalnotification - Fatal编程技术网

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

Ios UILocalNotification:每2个月、4个月、6个月重复一次?,ios,iphone,uilocalnotification,Ios,Iphone,Uilocalnotification,我希望将本地通知的时间间隔安排为2个月、4个月和6个月 从可用的NSCalendarUnits来看,我不认为这是可能的 有什么建议吗?我已经用以下方法实现了这种功能 - (void)application:(UIApplication *)application didReceiveLocalNotification (UILocalNotification *)notification { if ([notification.alertBody isEqualToString:@"yo

我希望将本地通知的时间间隔安排为2个月、4个月和6个月

从可用的NSCalendarUnits来看,我不认为这是可能的


有什么建议吗?

我已经用以下方法实现了这种功能

- (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种可能

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

  • 比较用于识别已触发的通知?难道没有比比较alertBody更优雅的方式了吗?我使用alertBody是因为它在我的案例中是独一无二的。您是否使用了类似的localNotification的alertBody?是的,它用于标识localNotification,这意味着我可以将UILocalNotification子类化并添加ID属性?啊。。如果您这样认为,只需尝试子类化来标识您的本地通知。