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

4

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

sessionOutput.outputSettings = [AVVideoCodecKey: AVVideoCodecTypeJPEG]

XCode提示'AVVideoCodecTypeJPEG'已更名为'AVVideoCodecType.jpeg',并且'AVVideoCodecTypeJPEG'在Swift 3中已被弃用,建议替换为'AVVideoCodecType.jpeg'

在做完这些更改后,XCode提示'jpeg'仅适用于iOS 11.0或更高版本。

问题在于我必须使用iOS 10并想要使用Swift 4。

是否有解决方案以在iOS 10中使用此类功能?

1个回答

13

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

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

1
我以为我做对了,但它却报错了!但是当我复制了你的代码后,它就可以工作了。谢谢。 - rick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接