如何在Swift 4中使用Swift 3的已废弃语法

问题描述 投票:3回答:1

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

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。

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

ios swift xcode avcapture
1个回答
11
投票

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

if #available(iOS 11.0, *) {
    sessionOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecType.jpeg]
} else {
    sessionOutput.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG]
}
© www.soinside.com 2019 - 2024. All rights reserved.