Tag: uilocalnotification

本地通知不在设备上工作,但在模拟器上工作

我读过一些如何使用UILocalNotification的指南。 所以我从第一次尝试就试过了,没有成功。 要在AppDelegate.m中注册通知,我使用: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { … //if it is iOS 8 if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge|UIUserNotificationTypeAlert|UIUserNotificationTypeSound) categories:nil]; [application registerUserNotificationSettings:settings]; } else // if iOS 7 { UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; [application registerForRemoteNotificationTypes:myTypes]; } UILocalNotification *locationNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (locationNotification) { // Set […]

如何通过快速按下button取消LocalNotification?

我正在通过单击button来安排一个基于位置的UILocalNotification 。 但是当我尝试通过再次单击相同的button取消localNotification它不会取消通知。 我正在使用UIApplication.sharedApplication().cancelLocalNotification(localNotification)来取消我的预定位置的本地通知。 我究竟做错了什么 ? 这里是我的实现 @IBAction func setNotification(sender: UIButton!) { if sender.tag == 999 { sender.setImage(UIImage(named: "NotificationFilled")!, forState: .Normal) sender.tag = 0 regionMonitor() //function where notification get scheduled } else { sender.setImage(UIImage(named: "Notification")!, forState: .Normal) sender.tag = 999 } 我应该进入else块,以便预定的通知被取消。 无法清除所有通知。 这里是didEnterRegion块代码,我触发本地通知 func locationManager(manager: CLLocationManager!, didEnterRegion region: CLRegion!) { localNotification.regionTriggersOnce = true localNotification.alertBody […]

如何在iOS中侦听通知被驳回的事件?

我列出了针对我的本地通知按下的操作,但有没有办法确定用户何时解除通知? 下面是我如何在我的AppDelegate中听取我的操作,但解雇不会触发这个: func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler: () -> Void) { var actionName: String? = nil if let identifier = identifier { switch identifier { case "snoozeAction": actionName = "snoozeActionTapped" break default: break } if let name = actionName { NSNotificationCenter.defaultCenter().postNotificationName(name, object: nil) } } completionHandler() }

为什么后台任务在10分钟后结束

当应用程序处于后台时,我非常需要后台任务来运行。 这是一个VoIP应用程序所需要的。 所有步骤都为VoIP应用程序完成。 我正在使用以下脚本来运行后台任务 – (void)applicationDidEnterBackground:(UIApplication *)application { UIApplication *app = [UIApplication sharedApplication]; UIBackgroundTaskIdentifier bgTask; self.bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [app endBackgroundTask:self.bgTask]; }]; } 使用后,当应用程序进入后台,在10分钟内如果一个SIP呼叫来UILocalnotification出现。 但10分钟后,如果一个啜饮电话UILocalnotification没有出现。 请有人帮助我。

UILocalNotification问题

我有一个当地的通知,我想每5分钟一次。 我用: localNotif.repeatInterval = NSMinuteCalendarUnit 那将会每分钟发生一次通知。 我无法弄清楚如何让这个每5分钟发生一次,或者其他大于1分钟的时间间隔。 我试过了: localNotif.repeatInterval= 5 * NSMinuteCalendarUnit 这不起作用。 任何人都可以帮我解决这个问题。

我的通知代码有什么错误?

注意:下面有一个更新。 在上一个问题中,我已经提出了每小时重复间隔指定一分钟的问题。 不过,我有两个答案要求我尝试date组件,而我做到了。 这里是: [[UIApplication sharedApplication] cancelAllLocalNotifications]; NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar] ; NSDateComponents *componentsForReferenceDate = [[NSDateComponents alloc] init]; [componentsForReferenceDate setHour:hour]; [componentsForReferenceDate setMinute:0]; [componentsForReferenceDate setSecond:0]; NSDate *fireDateOfNotification = [calendar dateFromComponents: componentsForReferenceDate]; // Create the notification UILocalNotification *notification = [[UILocalNotification alloc] init] ; notification.fireDate = fireDateOfNotification; notification.timeZone = [NSTimeZone localTimeZone] ; notification.alertBody = [NSString stringWithFormat: @"You […]

Iphone presentLocalNotificationNow不触发警报和声音,而应用程序在后台

我有一个应用程序注册的位置更新,运行testing,当我进入一个地区,而应用程序在后台我收到警报通知声音的某个时候。 有时我只能在通知中心看到通知,而且我没有收到任何声音和警报。您可以做些什么来始终获得声音和警报通知? 这是我的观点 UILocalNotification *localNotif = [[UILocalNotification alloc] init]; localNotif.fireDate = nil; localNotif.hasAction = YES; localNotif.alertBody = fbName; localNotif.alertAction = @"View"; localNotif.soundName = UILocalNotificationDefaultSoundName; [[UIApplication sharedApplication]presentLocalNotificationNow:localNotif]; 这是应用程序的代表 – (void)application:(UIApplication *)application didReceiveLocalNotification (UILocalNotification *)notification { if (notification) { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Alert" message:notification.alertBody delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } } – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary […]

对于过去的非重复通知,UIApplication scheduledLocalNotifications是空的

我试了3do应用程序似乎可以安排非重复通知,并从通知中心删除特定的通知。 它的工作原理如下:当应用程序在后台,他们在通知中心交付,如果您select其中一个通知3do会打开,你可以select“完成”,如果你点击“完成”,将删除特定的通知从通知中心。 如果你不点击任何东西,通知将被留在通知中心。 这是我自己在自己的应用程序中遇到的问题,我无法理解如何从通知中心删除单个通知。 如果通知没有重复间隔,则UIApplication的scheduledLocalNotifications数组将为空,因此我无法取消该特定通知,并将其从通知中心删除。 但是,如果通知有重复间隔scheduledLocalNotificationsarrays将不会是空的,我可以删除此通知。 但是,如果通知不重复,我该如何处理这种情况呢?

“设置”中的“通知中心”列表中未显示本地通知的应用程序

所以我刚刚收到用户的投诉,说他们没有收到我的应用程序的任何通知。 我要求他们进入设置应用程序 – >通知中心,并检查来自应用程序的警报是否被打开。 (横幅,徽章应用程序图标,声音,在通知中心显示,显示在locking屏幕) 令人惊讶的是,他提到该应用程序甚至不在通知中心的应用程序列表中。 这很奇怪,因为在我的设备上,以及我testing过的所有设备上,应用程序在“通知中心”下列出,通知正常工作。 这怎么可能发生? 另外,请记住,我的应用程序只使用本地通知,而不是推送通知。

主页button按下,我应该使用哪个AppDelegate方法来调度本地通知

只要用户点击主页button,我想安排一个本地通知。 在这种情况下,我应该使用哪种App委托方法: applicationWillResignActive applicationDidEnterBackground applicationWillTerminate 那么我想我不应该使用第三个,但前两个之间的区别是什么? 有没有什么办法可以区分通过电话/其他通知中断和实际按下主页button? 提前致谢。