Objective-C本地通知触发两次

时间:2015-01-09 15:48:24

标签: ios objective-c uilocalnotification

我在AppDelegate.m文件中使用- (void)applicationDidEnterBackground:(UIApplication *)application并且我每天都会显示这样的通知:

- (void)applicationDidEnterBackground:(UIApplication *)application

    {

        UILocalNotification *notification = [[UILocalNotification alloc] init];
        UIApplication *myapp = [UIApplication sharedApplication];

       if (hour > 8 && hour < 10)
       {
                    notification.fireDate = [components date];
                    notification.repeatInterval = 0;
                    notification.soundName = @"";
                    notification.alertBody = @"This is an notification!";
                    [myapp scheduleLocalNotification:notification];
       }
    }

一切正常,除非在用户打开应用程序后触发通知并关闭应用程序,然后关闭它将再次触发通知。是否有一些方法与- (void)applicationDidEnterBackground:(UIApplication *)application不同(警报必须显示即使应用程序完全关闭[使用任务管理器终止])或者我需要使用某些代码解决它。

谢谢!

1 个答案:

答案 0 :(得分:0)

当您的应用完全关闭后,您无能为力。当应用程序进入后台时,您使用的方法是正确的。在应用程序终止之前调用applicationWillTerminate。在那之后,就是这样。不再。