最近、iOS 7 で利用できる新しい NSURLSession を使用して最初のプロジェクトを完了しました。
NSURLSession の API 全体を探索するアプリを作成し、あらゆる種類のタスクを実装しました。 - データ タスク - ダウンロード タスク - アップロード タスク
また、バックグラウンド セッションを使用してバックグラウンド アップロードを実装しました。何時間ものデバッグと試行錯誤の実装の後、私は最終的にアプリ全体が問題なく動作するポイントに到達しました。私はそれを少数のテスター (< 5) にリリースしましたが、そのうちの何人かは、再現も追跡もできないようなバグに遭遇しました。
私のコードの特定の部分 - いくつかの無関係な操作の後 - バックグラウンド セッションで利用可能な現在のアップロード タスクを再開する責任があります。
[[appDelegate getNSURLSessionForBackgroundTransfers] getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
for(NSURLSessionUploadTask *task in uploadTasks) {
[task resume];
}
時々、アプリがクラッシュし、ログに次の例外が記録されます (ホッケー アプリを使用しています)。
シグセグ
の上:
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
何か案は ?それが何であるかについてのヒントはありますか?
前もって感謝します!ぜ