如何在 Swift 4 中使用 Swift 3 的过时语法

How to Use Obsoleted Syntax of Swift 3 in Swift 4

录制视频,同时设置视频编解码器如下:

sessionOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecTypeJPEG]

XCode 表示 'AVVideoCodecTypeJPEG' has been renamed to 'AVVideoCodecType.jpeg''AVVideoCodecTypeJPEG' was obsoleted in Swift 3,它表示 Replace 'AVVideoCodecTypeJPEG' with 'AVVideoCodecType.jpeg'

这样做之后,XCode 说 'jpeg' is only available on iOS 11.0 or newer

问题是我必须使用 iOS 10 并且想使用 Swift 4。

是否有任何解决方案可以在 Swift 4 和 iOS 10 中使用这样的功能?

我认为解决此类问题的正确方法是使用新的 AVVideoCodecType.jpeg 和已弃用的 AVVideoCodecJPEG,这样做:

if #available(iOS 11.0, *) {
    sessionOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecType.jpeg]
} else {
    sessionOutput.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG]
}