gpt4 book ai didi

iphone - 如何在后台运行 iOS4 应用程序?

转载 作者:行者123 更新时间:2023-11-28 18:26:51 25 4
gpt4 key购买 nike

我正在为 iOS4 开发应用程序。该应用程序由两个主要组件组成,一个应该在后台运行,另一个持续显示在屏幕上并从第一个组件获取数据。问题在于:第一个组件在被置于后台之前工作正常。那时它停止发送数据。这是为什么?有什么解决方法吗?

谢谢。

最佳答案

如果您不使用 VoIP、音频或 GPS,您只能使用任务完成模式(在后台限制为 10 分钟)。为此,您必须告诉操作系统您要开始一项任务:

UIApplication*    app = [UIApplication sharedApplication];

UIBackgroundTaskIdentifier bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];

当你完成后,你可以结束它:

[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;

请记住,如果您的运行时间超过 10 分钟,操作系统将终止您的应用。

applicationDidEnterBackground: 中,您遇到的问题是您的代码仍然阻塞主线程,这就是它在您退出应用程序时被杀死的原因。

如果你想在 applicationDidEnterBackground: 中开始执行代码,你应该开始后台任务并调度你想用 dispatch_async(queue, block_with_your_code); 做的任何事情

您可以阅读更多内容 here

关于iphone - 如何在后台运行 iOS4 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6760563/

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