gpt4 book ai didi

iOS downloadTaskWithRequest 在 iPhone 的后台 session 中调用时返回 nil,在模拟器中工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:52 25 4
gpt4 key购买 nike

- (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 错误 -999NSURLErrorCancelled。我不清楚为什么您会在这种情况下收到该特定错误,除非您明确取消请求或使 session 无效。

关于iOS downloadTaskWithRequest 在 iPhone 的后台 session 中调用时返回 nil,在模拟器中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22116065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com