原生iOS的后台计时器

时间:2019-01-29 14:14:23

标签: ios react-native

我需要使用计时器来限制我的一项功能。因此,我为此使用了react-native-background-timer插件。在android的情况下,它可以正常工作,并且我得到了预期的输出。但是在IOS的情况下,它仅在应用程序处于前台时才起作用,当我在4-5秒后按下主屏幕按钮时,此插件计时器也会暂停。我已遵循此插件中提到的所有说明。还是没有运气。

这是我的代码:-

BackgroundTimer.start();
setInterval(() => {
       // Here I am writing my business logic
       //Which works properly in case of foreground.
   }, 1000)

我也是added comment来获得实施帮助。

请让我知道。我做错什么了吗?

还建议使用其他替代功能。

1 个答案:

答案 0 :(得分:1)

您提到的插件运行得很好,因为它使用的是 dispatchAsync方法,该方法基本上是在IOS中用于完成小的后台工作。

选中使用跨平台部分。

BackgroundTimer.runBackgroundTimer(() => { 
console.log("Background Timer");
//Check above log will appear after every 3 seconds.
//Your timer reducing and updating code goes here 
}, 
3000);

//Don't forget to remove Timer
//rest of code will be performing for iOS on background too
BackgroundTimer.stopBackgroundTimer();