Ios UILocalNotification每15分钟一次,但不是在晚上(晚上10点后)

Ios UILocalNotification每15分钟一次,但不是在晚上(晚上10点后),ios,objective-c,uilocalnotification,Ios,Objective C,Uilocalnotification,我想每15分钟发送一次UILocalNotification。这没有问题: UILocalNotification *notification = [[UILocalNotification alloc] init]; notification.fireDate = [[NSDate date] dateByAddingTimeInterval:15]; notification.repeatInterval = NSMinuteCalendarUnit;

我想每15分钟发送一次UILocalNotification。这没有问题:

    UILocalNotification *notification = [[UILocalNotification alloc] init];

    notification.fireDate = [[NSDate date] dateByAddingTimeInterval:15];
    notification.repeatInterval = NSMinuteCalendarUnit;



    notification.alertBody = NSLocalizedString(@"Alert", @"");
    notification.timeZone = [NSTimeZone defaultTimeZone];
    notification.soundName = UILocalNotificationDefaultSoundName;

    [[UIApplication sharedApplication] scheduleLocalNotification:notification];

但我只想在上午8点到晚上10点之间这样做。我该如何处理呢?

您必须使用
repeaInterval
,您可能会考虑每15分钟重复一次通知,但如果您想跳过几个小时,您会遇到问题。
您还可以将所有通知安排为一天(添加一个用于上午7:00、上午7:15、上午7:30等),并每隔一天重复一次。如果您希望每小时发送4次通知,从早上7点到晚上10点,总共发送60次通知(最大发送次数为64次)。

您必须使用
repeaInterval
,您可能会考虑每15分钟重复一次通知,但如果您想跳过几个小时,则会遇到问题。
您还可以将所有通知安排为一天(添加一个用于上午7:00、上午7:15、上午7:30等),并每隔一天重复一次。如果您希望每小时发送4次通知,从上午7点到晚上10点发送60次通知(最大64次以下)。

您需要为每次发送安排通知,并使其
重复间隔
等于
NSCalendarUnitDay
。所以你需要一张8:00,8:15,8:30等的票。。。但请记住,iOS限制为每个应用最多64次通知。如果你添加新的,旧的可能会被删除。如果做一个If语句,询问nsdate是否在上午8点到晚上10点之间呢?@JakobMikkelsen你需要在应用程序运行时安排通知,因为iOS并不总是在后台运行,你不能使用If语句。那会是哪个恼人的应用程序?只是为了避免下载它…@rckoenes当然。。但我认为这是自我解释的p您需要为每次安排通知,并使其
repeatInterval
等于
NSCalendarUnitDay
。所以你需要一张8:00,8:15,8:30等的票。。。但请记住,iOS限制为每个应用最多64次通知。如果你添加新的,旧的可能会被删除。如果做一个If语句,询问nsdate是否在上午8点到晚上10点之间呢?@JakobMikkelsen你需要在应用程序运行时安排通知,因为iOS并不总是在后台运行,你不能使用If语句。那会是哪个恼人的应用程序?只是为了避免下载它…@rckoenes当然。。但我认为这是自我解释的P