ios - 使用 AFNetworking 2.0 处理后台任务
<p><p>我在使用 AFURLSessionManager 实现后台任务时遇到问题。
我正在创建一个带有 BaseURL 和 SessionConfiguration 的新 AFHTTPSessionManager,使用 <code>NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:</code> 并使用便捷的方法来创建 POST 请求。</p>
<p>当我运行我的应用程序时,第一个请求正常发送,但第二个请求返回<code>标识符为 {ID} 的后台 URLSession 已存在!</code> 并导致应用程序崩溃。</p>
<p>我看过 Apple 的 WWDC 2013 视频,他们建议您只创建一次 session 配置,使用</p>
<pre><code>dispatch_once(&onceToken, ^{
NSURLSessionConfiguration *configuration = ;
session = ;
});
</code></pre>
<p>但是,AFURLSessionManager 的 <code>session</code> 属性设置为只读,我无法传递自定义 NSURLSession,只有一个 NSURLSessionConfiguration,它是在 <code>AFURLSessionManager:init</code> 中创建的>:</p>
<pre><code>self.session = ;
</code></pre>
<p>我觉得我做错了什么,但我还能如何使用 AFNetworking 支持后台任务?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>你不能实例化一个新的<code>AFHTTPSessionManager</code>然后改变它的<code>session</code>来引用一些单例<code>NSURLSession</code>是正确的。因此,您应该将 <code>AFHTTPSessionManager</code> 对象本身设为可在整个应用程序中重用的共享实例。</p>
<p>在 <a href="https://stackoverflow.com/a/21359684/1271826" rel="noreferrer noopener nofollow">end of this answer</a> ,我提供了一个使用 AFNetworking 进行后台 session 的示例。</p></p>
<p style="font-size: 20px;">关于ios - 使用 AFNetworking 2.0 处理后台任务,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/26453822/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/26453822/
</a>
</p>
页:
[1]