gpt4 book ai didi

ios - 如何在后台运行 NSTimer 超过 180 秒?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:17 25 4
gpt4 key购买 nike

我有集成的计步器,当应用程序在后台运行时我正在做一些计算。但在 180 秒后,我的应用程序被 Apple OS 强行终止。有没有办法让定时器运行超过 180 秒。

最佳答案

如果您关心时间并想知道指定时间间隔后的准确时间,我建议您不要使用计时器,而是注册一个本地通知,并在您希望的时间间隔后发送触发日期。

如果你需要在后台执行一个长时间的任务,你必须以这种方式通过系统调用 beginBackGroundTaskWithExpirationHandler 方法注册它:

    - (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;
});
}

您也可以引用这里的链接:BackGroundTask

关于ios - 如何在后台运行 NSTimer 超过 180 秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39695010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com