ios NSURLSession(默认配置)不缓存请求

ios NSURLSession(默认配置)不缓存请求,ios,nsurlsession,nsurlcache,nsurlsessiondownloadtask,nsurlsessionconfiguration,Ios,Nsurlsession,Nsurlcache,Nsurlsessiondownloadtask,Nsurlsessionconfiguration,我已配置会话: - (void)createSession { NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; sessionConfig.requestCachePolicy = NSURLRequestReturnCacheDataElseLoad; _session = [NSURLSession sessionWi

我已配置会话:

- (void)createSession {
    NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
    sessionConfig.requestCachePolicy = NSURLRequestReturnCacheDataElseLoad;
    _session = [NSURLSession sessionWithConfiguration:sessionConfig];
}
然后,我尝试向服务器发出请求(从Twitter的API获取图像):

映像正在正确加载和设置,但当我关闭计算机上的Internet连接(未终止应用程序,它仍在运行…)时,我得到的UIImageView为空-因此会话尝试从服务器下载映像,但不使用任何缓存。
是什么导致了这个问题?
我尝试使用共享会话,或使用预定义的磁盘和内存空间配置共享缓存,但没有任何帮助。

iOS模拟器,iOS 8+

缓存与下载任务不同。 下载的数据存储在临时目录中,如果需要永久保存,则需要将其移动到应用程序路径。 其中,在下一个请求中使用as缓存数据(基于响应或设置缓存策略)。
注意:操作系统在某些情况下可以删除缓存数据

是的,可能重复,看起来像是一个bug,但我想看看谁成功地使用了上述技术。
    NSURL *url = tweet.mediaUrl;
    NSURLSessionDownloadTask *getImageTask =
    [_session downloadTaskWithURL:url
                completionHandler:^(NSURL *location,
                                    NSURLResponse *response,
                                    NSError *error) {
                    UIImage *downloadedImage = [UIImage imageWithData: [NSData dataWithContentsOfURL:location] ];
                    dispatch_async(dispatch_get_main_queue(), ^{

                    //setting image to a view


                    });
                }];

    [getImageTask resume];