2017-01-25 85 views
0

我有一個應用程序在每分鐘左右完成對API的遞歸調用,但它在應用程序處於活動狀態時正常工作,但在後臺處於未工作狀態時正常工作。在iOS上對原生背景API調用做出反應

我測試了同樣的應用程序在Android上,甚至在後臺工作正常,但在iOS上停止調用API。

我錯過了什麼,或者我該怎麼做才能解決它?

請快速幫忙嗎?

+0

我一直在尋找解決方案,並發現此鏈接:http://stackoverflow.com/questions/37565643/background-execution-automatically-stops-after-3-minutes 這也解釋了這裏,這是可能的: https://krumelur.me/2015/11/25/ios-background-transfer-what-about-uploads/ 但是sill無法解決它。 –

+0

您是否找到解決此問題的解決方案? –

回答

1

截至2017年1月,您有幾個選擇,但目前沒有一個適用於iOS的本機 - 這是they're working on。對於Android(儘管看起來你已經解決了這個問題),你可以使用Headless.js

在iOS設備上,你有幾種選擇,這取決於你的任務:

+0

謝謝你的回覆,我已經嘗試過了:react-native-background-timer 但是這裏是我真的可以堅持:一旦我添加導入並鏈接此組件,我使用另一個掩碼編輯組件:react-native-masked-文本 現在,當添加兩個我開始得到這個錯誤:不支持掩碼類型。 這是我米如何使用它: this.setState({Phone:event.nativeEvent.text})} /> –

+0

我得到了它的工作原理:react-native-background-timer爲我提供瞭解決方案。 謝謝 –

+0

好吧我試圖使用(react-native-background-timer)這個,但是這裏發生了什麼:它開始工作正常,但它總是在2-3分鐘後停止,我不知道爲什麼,但我嘗試了所有相同的結果。 (我正在iPhone上進行測試,帶鎖和不帶相同結果)。請任何快速幫助? –

0

2018年一月有更好的選擇(萬歲進步! )。現在可以使用react native queuereact native background task完全在JS交叉平臺中使用本機進行反應。

Here's a walkthrough for setting this up.

但是,也有限制:

  • 的任務執行之間的時間間隔最小爲〜15分鐘。
  • 後臺任務的超時限制爲30秒。
  • 任務計劃是近似的。 iOS/Android使用電池壽命,當前cpu負載等來確定是否可以執行預定任務,或者是否應該延遲甚至取消執行。它通常會在你想要的時候運行,但不要指望時間確切。