Сбой 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;
}