在iphone中长时间在后台运行应用程序

Posted

技术标签:

【中文标题】在iphone中长时间在后台运行应用程序【英文标题】:To run app in background for long time in iphone 【发布时间】:2012-05-22 13:08:07 【问题描述】:

嗨,我想在后台运行我的应用程序,直到我退出它。为此,我使用了下面的代码

 bgTask = [application beginBackgroundTaskWithExpirationHandler: ^
            dispatch_async(dispatch_get_main_queue(), ^

                [application endBackgroundTask:bgTask];
                bgTask = UIBackgroundTaskInvalid;

            );
        ]; 

但它在特定时间后退出。任何人都可以指导我实现这一目标。

【问题讨论】:

【参考方案1】:

你没有!

Apple 将允许您完成一项冗长的操作,但不能让您的应用程序保持运行。这会耗尽您的电池电量。

Apple 支持三种后台运行应用程序:音频播放器、VOIP 客户端和基于位置的应用程序。基于位置的应用只会接收主要的位置更新,并且一次只能运行一个音频播放器。

滥用后台模式会导致您的应用被拒绝。

【讨论】:

更多背景模式? Xcode 只有:App 播放音频,App 注册位置更新,App 提供 Voice over IP 服务。 external-accessory 和 bluetooth-central 也存在。可能会更多:) @Martin 不知道,感谢您提供的信息。确实发现还有newsstand模式。 谢谢大家...我需要在后台检查每一秒的时间是否可能。 谢谢 rckoenes....你能告诉我如何设置工作日、周末和选定日期的本地通知【参考方案2】:

不会以这种方式工作。您的应用程序需要以适当的方式支持其中一种后台模式

【讨论】:

谢谢大家...我需要在后台检查每一秒的时间是否可能。

以上是关于在iphone中长时间在后台运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何监控Oracle数据库中长时间运行的进程

WebAPI 中长时间运行的任务

iPhone 应用程序可以在后台运行多长时间?

如何声明必须在后台运行的 iPhone 应用程序?

为啥我的 iPhone 应用程序在后台继续运行?

在 iPhone 的后台运行定时器功能