![](/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.