我最近重新访问了最后为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上找到任何解决方案。
答案 0 :(得分:0)
试试这个,
-(void)beginBackgroundUpdateTask
{
self.backgroundTaskAgent == UIBackgroundTaskInvalid
self.backgroundTaskAgent = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(void) {
[self endBackgroundUpdateTask];
}];
}
-(void)endBackgroundUpdateTask
{
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundTaskAgent];
self.backgroundTaskAgent = UIBackgroundTaskInvalid;
}