From aaaf227c960e241fe83ecc3f38ab881d66110cb4 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sun, 18 Aug 2024 13:31:20 -0700 Subject: [PATCH] Make yielding last progress value more reliable --- SJSAssetExportSession/SampleWriter.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SJSAssetExportSession/SampleWriter.swift b/SJSAssetExportSession/SampleWriter.swift index 90b88ce..6922cdd 100644 --- a/SJSAssetExportSession/SampleWriter.swift +++ b/SJSAssetExportSession/SampleWriter.swift @@ -131,10 +131,15 @@ actor SampleWriter { } progressContinuation?.yield(1.0) - progressContinuation?.finish() // Make sure the last progress value is yielded before returning. await Task.yield() + await withCheckedContinuation { continuation in + progressContinuation?.onTermination = { _ in + continuation.resume(returning: ()) + } + progressContinuation?.finish() + } } // MARK: - Setup