Я делаю запись видео в реальном времени, используя AVAssetWriter и AVCaptureVideoDataOutput. Я вижу много сообщений о сбоях на пользовательских устройствах, но не могу воспроизвести его ни на одном из моих устройств. Мне нужна информация о том, что может пойти не так в коде ниже. Это происходит, вероятно, из-за сбоя при типе NSDictionary к [String: AnyObject].
В моем классе:
private var videoOut: AVCaptureVideoDataOutput?
А затем в функции я делаю это:
var recommendedSettings:[String:AnyObject]?
recommendedSettings = videoOut.recommendedVideoSettings(forVideoCodecType: AVVideoCodecType.hevc, assetWriterOutputFileType: AVFileType.mov) as? [String : AnyObject]
if let recommendedSettings = recommendedSettings {
/* crashes here */
var compressionSettings = recommendedSettings[AVVideoCompressionPropertiesKey] as! [String:AnyObject]
}
Какой предполагаемый тип возврата для словаря, возвращаемого AVVideoCompressionPropertiesKey в Swift?