522087f39885127670f4198f7c51f41f8713dae7
async 版 await session.download(from:) 内部走 completion-handler 路径, session 级 delegate 的 didWriteData 全部被跳过,结果只有兜底 onProgress(1.0) 在下载完成后才触发——用户看到的"瞬间 100%"就是这个唯一一次回调。 换成手动 session.downloadTask(with:).resume() + CheckedContinuation: - didWriteData 正常按 URLSession 节奏在 opQueue 上派发,进度真实推进 - didFinishDownloadingTo 内同步把临时文件 move 到沙盒 Caches 的已知位置 (否则 delegate 返回后系统立即清掉那个临时位置) - didCompleteWithError 里 resume 续作 - continuation/moveError 跨线程(actor → opQueue)用 NSLock 保护 LobbyZipUpgrader / SubGameDownloader 同款修复(大厅 zip 下载 + 子游戏 zip 下载)。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Description
No description provided
24 MiB
Languages
Swift
94.5%
Objective-C++
2.9%
JavaScript
1.8%
C
0.6%
Objective-C
0.2%