2017-01-25 57 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负载等来确定是否可以执行预定任务,或者是否应该延迟甚至取消执行。它通常会在你想要的时候运行,但不要指望时间确切。