0

我最近重新访问了上次为 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 方法中。我以前从未遇到过此错误,并且我自己或在 SO 上都找不到任何解决方案。

4

1 回答 1

0

像这样试试

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

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

}
 -(void)endBackgroundUpdateTask
{

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

 }
于 2016-07-25T13:49:50.007 回答