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;
}
我最近重新访问了我的应用程序,该应用程序上次是为 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;
}