NSTimer Keep counting after app is closed in iPhone

后端 未结 2 1998
礼貌的吻别
礼貌的吻别 2021-01-14 21:09

I have a timer that have to count up to 8 hours (28800 second) after that it should be released

im wondering how to keep the timer running at the background and/or w

相关标签:
2条回答
  • 2021-01-14 22:05

    When application goes in background, In –(void)applicationDidEnterBackground: application delegate method add current counter value and current time in nsuserdefault.

    Now when application becomes active before that –(void)applicationWillEnterForeground: will called so in that method get total seconds application was in background ie (current time of application) - (time when application went background which is stored in nsuserdefault) calculate in seconds

    so add this also in –(void)applicationWillEnterForeground :

     if((seconds calculated) > (28800 - (current counter value stored in nsuserdefault)))
     {
        // stop timer as it has gone beyond eight hours
     } 
     else
     {
      // continue task
     }
    
    0 讨论(0)
  • 2021-01-14 22:10

    You can't - once your app is closed then it's not running anymore so the timer won't be running either.

    Take a look at local notifications?

    0 讨论(0)
提交回复
热议问题