ios - 在后台安排的 UILocalNotification 不会触发

标签 ios iphone objective-c cocoa-touch uilocalnotification

我有一个使用位置服务(通过重要位置更新)在后台运行的应用程序。每当更新重要位置时,都会调用 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations 然后调用 [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:.. . 开始我的后台任务。接下来,我尝试触发本地通知:

UILocalNotification *notif = [[UILocalNotification alloc] init];
[notif setAlertAction:@"Test"];
[[UIApplication sharedApplication] presentLocalNotificationNow:notif];

但是,不会向用户显示任何通知。是不是后台不能发送本地通知?感谢您的帮助。

谢谢,

最佳答案

您需要开火日期:

UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.alertBody = text;
notification.fireDate = [[NSDate alloc] initWithTimeIntervalSinceNow:0];
notification.timeZone = [NSTimeZone defaultTimeZone];
notification.repeatInterval = 0;
[[UIApplication sharedApplication] presentLocalNotificationNow:notification];

关于ios - 在后台安排的 UILocalNotification 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20037737/

相关文章:

ios - 如何对数组中的日期进行分组?

iphone - 以编程方式确定 iPhone 是否越狱

iphone - 如何更改 iPhone 中导航栏的默认高度

objective-c - 使用什么代替 QuickLook.framework 来处理 HTML?

ios - AVCaptureSession 和背景音频 iOS 7

ios - SwiftUI @Published 属性不更新 View

ios - 通过滑动从 UItextView 中选择文本

iphone - 如何使用 Core Location 计算速度?

iphone - 在 Google Analytics 报告中,访问次数即将到来,但没有 PageViews 的数据

ios - Xcode 找不到任何匹配的配置文件