如何在 Xcode 13 中调用具有异步重载的原始同步方法

How to call original synchronous method that has async overload in Xcode 13

最近切换到 Xcode 13.

我有一个 AVAsset 编写器,正在尝试调用该方法

writer.finishWriting()

现在有异步版本和同步版本。

我想调用原始同步版本,但出现错误:

"'async' call in a function that does not support concurrency. 
Add 'async' to function to make it asynchronous"

如何调用原来的synchronous/pre-Xcode13版本?

您似乎忘记添加原始函数所期望的尾随闭包。

您想使用 finishWriting(completionHandler:)。该定义采用尾随闭包,completionHandler:

func finishWriting(completionHandler handler: @escaping () -> Void)

如果添加尾随闭包:

writer.finishWriting {
    /* do stuff */
}

代码将按预期编译。