当应用处于后台模式不起作用时发送本地通知

时间:2015-10-18 11:53:05

标签: swift timer nstimer nsnotifications

我希望能够在一天内发送多个本地通知,这也必须在后台模式下工作,并且它必须在计时器上工作,所以每20分钟一次。我遇到的问题是,一旦处于后台模式,它们就不会被触发,因为用于设置定时器的函数将不会运行。

然后我考虑在applicationDidEnterBackground中运行计时器,但这会与函数中设置的原始计时器发生冲突。

这基本上是否有效?任何智慧都会非常感激。

1 个答案:

答案 0 :(得分:0)

尝试查看此link并在后台执行您的任务

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    bgTask = [application beginBackgroundTaskWithName:@"MyTask" expirationHandler:^{
        // Clean up any unfinished task business by marking where you
        // stopped or ending the task outright.
        [application endBackgroundTask:bgTask];
        bgTask = UIBackgroundTaskInvalid;
    }];

    // Start the long-running task and return immediately.
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        // Do the work associated with the task, preferably in chunks.

        [application endBackgroundTask:bgTask];
        bgTask = UIBackgroundTaskInvalid;
    });
}