我最近使用 iOS 7 上的新 NSURLSession 完成了我的第一个项目。
我构建了一个应用程序来探索 NSURLSession 的整个 API,实现各种任务: - 数据任务 - 下载任务 - 上传任务
我还使用后台会话实现了后台上传。经过数小时的调试和反复试验,我终于达到了整个应用程序可以正常工作的地步——对我来说就是这样。我将它发布给少数测试人员(< 5),其中一些人遇到了一个我似乎无法重现甚至无法追踪的错误。
我的代码的某个部分 - 在一些不相关的操作之后 - 负责恢复后台会话中可用的当前上传任务:
[[appDelegate getNSURLSessionForBackgroundTransfers] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
for(NSURLSessionUploadTask *task in uploadTasks) {
[task resume];
}
有时,该应用程序在我的日志中崩溃并出现以下异常(我正在使用曲棍球应用程序):
SIGSEGV
在:
0 libdispatch.dylib 0x3ba87772 _dispatch_async_f + 10
1 CFNetwork 0x30a5b86f -[__NSCFBackgroundSessionTask _onqueue_connection_resume] + 92
2 Memoir Beta 0x00231e85 __55-[PhotoBinariesUploader runCodeEvenIfBackgroundMode:]_block_invoke_3 (PhotoBinariesUploader.m:553)
3 CFNetwork 0x30a848c5 __50-[__NSCFURLSession getTasksWithCompletionHandler:]_block_invoke246 + 14
有任何想法吗 ?关于它可能是什么的任何提示?
提前致谢!泽