在iOS(Swift)上长时间在后台执行代码,可能吗?

如果您需要定期执行后台操作(在用户对应用程序进行后台处理之后,并且您需要不时地运行一些代码),则可以进行后台获取唤醒。 您还可以向用户发送静默远程推送 。 还有通过位置服务的地理围栏 ,以定期唤醒您的应用程序,这将需要一些借口来获取位置,并且确实消耗了电池。 如果您需要连续的后台执行,例如在用户后台运行应用程序时继续执行一些代码,那么,如果您要处理网络流量,则可以使用NSURLSession 。 在操作系统切断并强制应用程序进入睡眠之前,可能存在一个限制。 当用户离开您的应用程序时,您也可以使用导航和语音功能继续进行后台活动,但是这些操作对用户来说非常明显,并且需要有正当理由。 我听说过但从未实现过,但它以某种方式打开了与服务器的套接字连接,并维护了该连接并允许后台活动。 但是我从来没有读过它,也不需要设置类似的东西,所以我什至不确定它是否可行。 或者如果是这样,现在是否仍然可行。 您可以使用一种技巧来播放静音背景音乐 。 这可能没有任何实际限制(您可以永久循环播放曲目)。 但是您必须找一些借口在后台播放声音,否则Apple可能会拒绝您启用背景音乐。 我敢肯定,这也会给您带来巨大的冲击,但可能不及地理位置。 但是…