Objective-C 本地通知触发两次

Objective-C local notifications firing two times

我在我的 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(即使应用程序完全关闭也必须显示警报 [被任务管理器杀死])或者我需要用一些代码解决它。

谢谢!

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