如何在后台状态下处理网络

时间:2010-12-20 08:12:20

标签: iphone objective-c networking multitasking ios-4.2

             I am sending email using SMTP Implementation .Now i am switching to another app network to be suspend. How to handle network not to be suspended.

此致

Arunkumar.P

1 个答案:

答案 0 :(得分:0)

登录iOS开发人员中心,搜索“后台任务”,您将找到所需的文档。

更清楚的是,每次你的应用程序启动一个可能需要一些时间才能完成的任务,即使在后台也应该活着,你应该在这样的任务开始之前声明一个UIBackgroundTaskIdentifier,然后告诉iOS这个是需要在后台运行的任务。而且你还必须确保当你的任务结束时,你应该总是告诉iOS它已经完成,不再需要特殊的背景许可。

您的代码应如下所示:

//right before your critical task starts
UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid;
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];

//immediately after your critical task finishes
if (newTaskId != UIBackgroundTaskInvalid) {
    [[UIApplication sharedApplication] endBackgroundTask: newTaskId];
}