- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
- (NSURLSession *)sharedBackgroundSession
{
static NSURLSession *sharedBackgroundSession = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:@"com.example.apple-samplecode.SimpleBackgroundTransfer.BackgroundSession"];
configuration.URLCache = [NSURLCache sharedURLCache];
configuration.requestCachePolicy = NSURLRequestReturnCacheDataElseLoad;
sharedBackgroundSession = [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:nil];
});
return sharedBackgroundSession;
}
// When executed on simulator, things work as expected, I never get a nil result.
// When executed on iPhone 5s device, nextDownloadTask is always nil
NSURLSessionDownloadTask *nextDownloadTask = [[self sharedBackgroundSession] downloadTaskWithRequest:request];
有什么想法吗?
2014 年 9 月 12 日更新:我又遇到了这个问题,用谷歌搜索并找到了这篇 SO 帖子,然后看到我是问题的作者!这一次 -URLSession:task:didCompleteWithError
甚至都没有被调用。解决方案是重启我的手机。这一定是一个 Apple 错误。我在我的 iPhone 5s 上运行 iOS7。
最佳答案
您应该实现 URLSession:task:didCompleteWithError:
并且它应该报告有意义的错误(如果有的话)。
就可在模拟器而非设备上运行的各种问题而言,它们包括:(a) 在 URL 中使用 localhost; (b) 使用仅在 LAN 和 iOS 设备上可用的 URL 无法通过 wifi 成功连接,例如也许只能通过手机连接;等等。您必须分享更多有关您连接到的 URL 类型的信息。
根据documentation , NSURLErrorDomain
错误 -999
是 NSURLErrorCancelled
。我不清楚为什么您会在这种情况下收到该特定错误,除非您明确取消请求或使 session 无效。
关于iOS downloadTaskWithRequest 在 iPhone 的后台 session 中调用时返回 nil,在模拟器中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116065/
我正在使用来自 the AFNetworking README 的确切示例代码下载文件,但请求立即被取消: 文件下载到:(null) 响应 = (null) 且错误 = Error Domain=NS
我不明白以下内容,希望有人理解 :-) 我正在从 url 下载文件(下载时间为 10 分钟),下载完成后工作正常。 但是:当我在一分钟后模拟崩溃或互联网中断并再次重新启动应用程序时,它对我来说表现得很
先介绍一些背景:应用程序应该从 AWS S3 服务器获取文件。为此,该过程的第一步是转到本地服务器并从中获取文件名和其他一些信息。在该步骤之后,我们有一个完整的 URLMutableRequest。
我正在观看斯坦福 CS193p 讲座视频。从 Flickr 下载一些照片时,讲师同时使用了 downloadTaskWithRequest: 和 downloadTaskWithURL:。我有点困惑。
所以我很难理解某些东西。这是我对 NSURSession 的理解: 一般来说,我有 2 个选项(据我所知)DataTask(e.x dataTaskWithRequest) 和 DownloadTas
如果我使用下面的代码 aDownloadTask = [self.backgroundSession downloadTaskWithURL:aRemoteURL]; 上面代码的说明:当我使用 dow
- (NSURLSession *)sharedBackgroundSession { static NSURLSession *sharedBackgroundSession = nil;
我正在尝试使用 AFNetworking (2.5.4) 下载文件。下载完成,调用完成处理程序,错误设置为 nil,一切似乎都很好,但目标文件不存在: AFHTTPSessionManager *ma
我是一名优秀的程序员,十分优秀!