ios - NSURLSession后台任务: when to call the handleEventsForBackgroundURLSession: completionHandler?

标签 ios iphone afnetworking nsurlsession

我正在使用 NSURLSession 上传多个视频文件。

application:handleEventsForBackgroundURLSession:completionHandler: 方法被调用多次,似乎是在每个任务完成之后。我存储传递给此方法的completionHandler,以便稍后调用它。

我的问题是:每次调用上述应用程序委托(delegate)方法时都调用它吗?或者仅当我的后台 session 的 [tasks count] == 0 时才调用它?当我执行后者时,应用程序在后台崩溃,并在控制台中显示以下信息:

Application Specific Information:
<BKNewProcess: 0x134d48400; com.vimeo; pid: 2141; hostpid: -1> has active assertions beyond permitted time: 
{(
    <BKProcessAssertion: 0x134d49500> id: 1679-3230372B-D4E5-44A1-A8DD-221CA8E6EECE name: com.apple.nsurlsessiond.handlesession com.vimeo.app.BackgroundSessionIdentifier process: <BKNewProcess: 0x134d48400; com.vimeo; pid: 2141; hostpid: -1> permittedBackgroundDuration: 30.000000 reason: backgroundDownload owner pid:1679 preventSuspend  preventThrottleDownUI  preventIdleSleep  preventSuspendOnSleep 
)}

我读过很多关于后台 session 及其复杂性的 StackOverflow 和博客文章,并且我看到了关于上述问题的相互矛盾的信息。

在此先感谢您的帮助。

最佳答案

URLSessionDidFinishEventsForBackgroundURLSession 的文档说要在那里调用它。我一直这样做只是因为他们这么说,但我没有看到任何相关问题。

关于ios - NSURLSession后台任务: when to call the handleEventsForBackgroundURLSession: completionHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27952121/

相关文章:

iphone - Cocos2D-X游戏中的Chartboost

ios - 针对 iOS 6+ 时是否需要检查相机是否存在?

ios - iOS App评论-我可以放置演示功能吗?

ios - GPUImage 平均颜色与应用的灰度过滤器不匹配

iphone - MFMessageComposeViewController 将我的 View 向下推 20px。为什么?怎么修?

ios - 如何在我的自定义 cocoapod 中导入 Alamofire/AFNetworking

ios - 将AFNetworking与YouTube UITableView结合使用

ios - 主线程上的 AFNetworking 和 NSURLConnection

javascript - iOS 在打开时在 testFlight 中崩溃

iphone - SpriteKit在何处加载数千个Sprite的纹理图集