gpt4 book ai didi

ios - 重复和取消 UILocalNotification

转载 作者:行者123 更新时间:2023-11-29 02:40:46 26 4
gpt4 key购买 nike

我希望每分钟在我的应用程序中触发 UILocalNotification 多次,然后我想取消它。

我正试图找到一个可以让我做到这一点的参数。

最佳答案

1) 安排通知

注意 .repeatInterval 属性值。

UILocalNotification *reminder = UILocalNotification.new;
reminder.fireDate = fireDate;
reminder.timeZone = [NSTimeZone systemTimeZone];
reminder.alertBody = @"Your alert message";
reminder.alertAction = @"Your alert action";
reminder.soundName = UILocalNotificationDefaultSoundName;
reminder.repeatInterval = NSMinuteCalendarUnit;

[[UIApplication sharedApplication] scheduleLocalNotification:reminder];

2) 处理通知 (AppDelegate)

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
// custom handling code
}

注意:在 iOS 8 中,您必须注册本地通知才能调用委托(delegate)方法。

3) 取消UILocalNnotification

[[UIApplication sharedApplication] cancelLocalNotification:reminder];

4) 通知区别

要跟踪收到通知的次数,您必须唯一标识您的通知。您可以通过使用 UILocalNotification 实例 .userInfo 属性来做到这一点。

示例

UILocalNotification *reminder = UILocalNotification.new;
...
reminder.userInfo = [NSDictionary dictionaryWithObject:@"custom value" forKey:@"notificationUniqueId"];
...

然后,当您在 2) 中编写的委托(delegate)方法中收到通知时,您可以检查您在 userInfo 字典中指定的通知唯一 ID。知道这一点后,您就可以跟踪 UILocalNotification 被触发的次数并在适当的时候取消它。

希望对您有所帮助!

关于ios - 重复和取消 UILocalNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25832352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com