gpt4 book ai didi

ios - 如果应用程序在暂停时工作,是否需要 iOS 后台模式?

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

我需要我的 iPhone 应用程序在暂停时在后台执行一些任务,但在它关闭后我不需要执行任何任务。我需要设置UIBackgroundMode吗?

最佳答案

是的,要在后台状态下连续执行代码,您需要注册给定的 UIBackgroundMode。

参见 herehere以获得这方面的良好资源。

但是,如果您只想执行单个后台任务(任务完成),则不需要后台模式。

为了回应您在下面的评论,我会尽量说清楚:

在 iOS 中,即使在 iOS 7 中,当您的应用程序无限期地处于后台状态时,也不可能运行任意代码。

用简单的英语来说,- 你不能随心所欲地在后台运行任何你喜欢的代码。

有规则。

这些规则在 iOS 7 中有所放宽,但仍未完全不受限制。

考虑您的情况:您有一个计时器想要连续调用一个方法。

现在考虑可用的 UIBackgroundModes(允许您在各种情况下在后台运行):

音频 - 仅适用于基于音频的应用。

位置 - 仅当您的应用具有位置感知能力时,才会执行特定的位置任务

voip - VOIP(Skype 等)

获取(后台获取 - 一个新的 iOS 7 API,系统为您提供应用程序时间,以便在认为合适时获取新内容。

remote-notification - iOS 7 中的新功能,当设备收到带有特定负载的远程推送通知时,它将恢复并执行特定的代码块。

报亭内容 - 仅适用于报亭应用

external-accessory - 仅供外部配件与设备通信

bluetooth-peripheral 仅供外部 BT 配件与设备(fitbit)通信

如您所见,如果您不属于这些类别之一,您将无法使用这些模式。如果您滥用这些模式,Apple 将不会批准您的申请。

最后我们有'后台任务完成'

这是一种使用 UIBackgroundTask 在后台执行任何代码的方法!包括调用方法的定时器! - 不过有一个问题...

这应该是为了“任务完成”(Facebook 上传未完成、保存或处理应在应用暂停之前完成的数据,即使用户按下了主页按钮)。

听起来不错,但是您只能使用此方法在后台运行最多 10 分钟。如果您超过此时间限制,iOS 将立即终止您的应用程序。

如您所见,您的应用程序无法在商店中获得批准并使用调用您的方法的计时器在后台持续运行。

对此感到抱歉。

如果您想了解更多信息,请查看 this出。

关于ios - 如果应用程序在暂停时工作,是否需要 iOS 后台模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226148/

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