iOS 启动后台任务时崩溃

iOS crash on Starting Background Task

我最近重新访问了我的应用程序,该应用程序上次是为 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 的top 方法中。我以前从来没有遇到过这个错误,我自己也找不到任何解决方案。

这样试试,

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

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

}
 -(void)endBackgroundUpdateTask
{

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

 }