![](/img/trans.png)
[英]If NSTimer does not work when an iOS app is in the background, how can I get my app to wake up periodically?
[英]Is there a way to wake the ios app periodically?
我需要我的应用每 x 小时唤醒一次,从设备中获取数据并将其发送到服务器。
这是可行的吗? 如果我可以实现 voip pushkit 或 fcm?
谢谢。
请求系统在后台启动您的应用程序以运行任务。
这可以通过使用 PushKit 的 VoIP 推送通知在一定程度上实现,VoIP 推送通知不会出现在没有声音和徽章的设备上,因此可以在每个间隔后生成它并对其执行相应的操作。 参考这个链接:
https://medium.com/mindful-engineering/voice-over-internet-protocol-voip-801ee15c3722
或者
您可以做的是在您的应用程序进入后台或终止之前,您可以收集数据并将其发送到服务器。 这可以用这个来完成(参考代码):
https://www.hackingwithswift.com/example-code/system/how-to-run-code-when-your-app-is-terminated
请记住,您只有 180 秒的时间来执行此后台任务(根据我的研究)。
您可以将其初始化为
application.setMinimumBackgroundFetchInterval(1800) 。
每次您的应用程序被带到后台或终止时,此 function 都会接到一个电话。
您不能定期执行此操作,但您可以通过服务器的帮助使用 VOIP Pushkit 执行此操作。 但我不确定苹果是否允许没有呼叫功能的 VOIP。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.