Skip to content

11.2.4后台运行 #12

@jobsLee-lcj

Description

@jobsLee-lcj

让程序在后台长久运行的示例代码如下:

- (void)applicationDidEnterBackground:(UIApplication *)application {
  [self beingBackgroundUpdateTask];
 //在这里加上你需要长久运行的代码
  [self endBackgroundUpdateTask];
}

- (void)beingBackgroundUpdateTask {
    self.backgroundUpdateTask =  [[UIApplication shareApplication] beginBackgroundTaskWithExpirationHandler:^{
    [self endBackgroundUpdateTask];
}];
}

- (void)endBackgroundUpdateTask {
    [[UIApplication sharedApplication]  endBackgroundTask:self.backgroundUpdateTask];
    self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}

1.作者第一个方法是不是想写成beginBackgroundUpdateTask以与end对应啊?
2.在beingBackgroundUpdateTask的expirationHandler中有调用endBackgroundUpdateTask,而在applicationDidEnterBackground中也有调用,这样重复调用不会有问题么?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions