关于在后台运行 iOS 应用的话题有很多问题,但我想用这个问题来澄清几点。
首先,如果您要将您的应用程序提交到应用商店,您只能作为音频/voip/location/airplay 应用程序在后台运行。您还可以接收推送通知。
但是,如果您正在开发企业应用程序,或者不必担心获得应用程序商店的批准,是否有任何其他选项可用?我想探讨两种情况:
- 不断在后台运行应用程序(处理或传输数据)
- 安排应用程序在给定时间启动进程
奖励:如果 #2 并且应用程序已关闭,是否可以启动应用程序?
关于在后台运行 iOS 应用的话题有很多问题,但我想用这个问题来澄清几点。
首先,如果您要将您的应用程序提交到应用商店,您只能作为音频/voip/location/airplay 应用程序在后台运行。您还可以接收推送通知。
但是,如果您正在开发企业应用程序,或者不必担心获得应用程序商店的批准,是否有任何其他选项可用?我想探讨两种情况:
奖励:如果 #2 并且应用程序已关闭,是否可以启动应用程序?
不断在后台运行应用程序(处理或传输数据)
iOS 内置了对后台处理的限制,而不仅仅是应用商店审核团队强加的。您可以尝试通过将您的应用程序标记为音频应用程序来欺骗 iOS,然后调用适当的音频 API 并执行您希望应用程序执行的任何其他操作。从长远来看,在受限制的情况下寻找实现真正目标的方法似乎要简单得多。例如,如果您需要让用户定期执行某项操作,请使用本地通知来吸引他们的注意力,然后给他们一个想要执行该任务的充分理由。
安排应用程序在给定时间启动进程
据我所知,在当前 API 下是不可能的。iOS将重新启动以前请求通知重大更改的应用程序,但如果您想在给定时间重新启动,这将无济于事。同样,您最好的选择是使用本地通知并给用户一个启动应用程序的理由。