iOS – 如何在后台完成漫长的进程

前端之家收集整理的这篇文章主要介绍了iOS – 如何在后台完成漫长的进程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用将视频上传到Facebook.我想在后台完成上传,即使不耐烦的用户上传过程中点击主页按钮.

经过一番阅读,我尝试过:

UIBackgroundTaskIdentifier bti = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
         [[UIApplication sharedApplication] endBackgroundTask:bti];
     }];

     [fb requestWithGraPHPath:@"me/videos"
                    andParams:params
                andHttpMethod:@"POST"
                  andDelegate:self];

     [[UIApplication sharedApplication] endBackgroundTask:bti];

工作是用fb请求方法完成的.该视频通过http连接上传到Facebook.这可以正常工作,但是如果您在上传过程中点击主页按钮来背景应用程序,则上传将被暂停.如果您前台应用程序,则继续上传.

我希望会发生的是上传将在后台完成.

有什么希望让工作吗?我在整个beginBackgroundTask中做错事情?这样做似乎太简单了,但这是文档似乎所说的.

任何帮助,非常感谢.

– 约翰

解决方法

你需要调用[[UIApplication sharedApplication] endBackgroundTask:bti];在委托回调.您将需要将bti存储在ivar或静态变量中.

猜你在找的iOS相关文章