Сбой iOS при запуске фоновой задачи

Я недавно пересмотрел свое приложение, которое в последний раз создавалось для iOS 8.4, и теперь обновляю его до 9.3. Он работал нормально первые несколько раз, когда я запускал его, но теперь вылетает при каждом открытии на каждом симуляторе с ошибкой: EXC_BAD_ACCESS(code=50)

-(void)beginBackgroundUpdateTask
{
  if (self.backgroundTaskAgent == UIBackgroundTaskInvalid)
   {
     self.backgroundTaskAgent = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(void) {
        [self endBackgroundUpdateTask];
     }];
   }
}
-(void)endBackgroundUpdateTask
{
    if (self.backgroundTaskAgent != UIBackgroundTaskInvalid)
    {
        [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTaskAgent];
        self.backgroundTaskAgent = UIBackgroundTaskInvalid;
    }
}

Сбой происходит в верхнем методе с beginBackgroundTaskWithExpirationHandler. У меня никогда не было этой ошибки раньше, и я не могу найти решение этой проблемы сам или на SO.

1 ответ

Решение

Попробуй вот так,

 -(void)beginBackgroundUpdateTask
{
  self.backgroundTaskAgent == UIBackgroundTaskInvalid

  self.backgroundTaskAgent = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(void) {
    [self endBackgroundUpdateTask];
 }];

}
 -(void)endBackgroundUpdateTask
{

    [[UIApplication sharedApplication] endBackgroundTask:self.backgroundTaskAgent];
    self.backgroundTaskAgent = UIBackgroundTaskInvalid;

 }
Другие вопросы по тегам