NSURLSessionConfiguration timeoutIntervalForRequest 似乎不适用于后台会话

Posted

技术标签:

【中文标题】NSURLSessionConfiguration timeoutIntervalForRequest 似乎不适用于后台会话【英文标题】:NSURLSessionConfiguration timeoutIntervalForRequest doesn't seem to work with the background session 【发布时间】:2013-12-10 21:41:20 【问题描述】:

当会话设置为在后台工作时(通过 backgroundSessionConfiguration 调用),NSURLSessionConfiguration 的新超时属性似乎不起作用。

有人知道是不是真的这样吗?

代码sn-p:

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration backgroundSessionConfiguration:bgSessionConfigIdentifier];
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
sessionConfig.timeoutIntervalForRequest = 60;

我是否需要做任何额外的事情才能使超时起作用?

【问题讨论】:

我也看到了这种行为。 归档雷达 15856876 太棒了!感谢您的确认。 【参考方案1】:

我刚刚遇到了类似的问题,通过使用解决了它 timeoutIntervalForResource 代替 timeoutIntervalForRequest

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfigurationbackgroundSessionConfiguration:bgSessionConfigIdentifier];
sessionConfig.HTTPMaximumConnectionsPerHost = 1;
sessionConfig.timeoutIntervalForResource = 60;

【讨论】:

以上是关于NSURLSessionConfiguration timeoutIntervalForRequest 似乎不适用于后台会话的主要内容,如果未能解决你的问题,请参考以下文章

测试是不是遵守 NSURLSessionConfiguration 设置

NSURLSessionConfiguration 不接受 HTTPAdditionalHeaders 中的“内容类型”

通过NSURLSessionConfiguration对类属性property(class)的思考

NSURLSessionConfiguration 不返回 URLRequest 数据

iOS开发之网络编程--6NSURLSessionConfiguration笔记

iOS NSURLSessionConfiguration Reference