You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI报错:AVCapturePhoto类型无livePhotoMovieFileURL成员

问题分析

你尝试实现实况照片存入相册的功能,但代码报错:

Value of type 'AVCapturePhoto' has no member 'livePhotoMovieFileURL'

错误原因很明确:AVCapturePhoto 类并没有 livePhotoMovieFileURL 这个属性,你用错了属性名称。

解决方案

要获取实况照片对应的视频文件URL,应使用 AVCapturePhoto 提供的 livePhotoCompanionMovieURL 属性。修改代码中的对应部分即可:

try await PHPhotoLibrary.shared().performChanges {
    let creationRequest = PHAssetCreationRequest.forAsset()
    creationRequest.addResource(with: .photo, data: imageData, options: nil)
    
    // 添加实况照片视频(如果可用)
    if self.isLiveModeEnabled,
       let movieURL = photo.livePhotoCompanionMovieURL { // 替换为正确的属性名
        print("Adding live photo video data")
        let options = PHAssetResourceCreationOptions()
        options.shouldMoveFile = true
        creationRequest.addResource(with: .pairedVideo,
                                  fileURL: movieURL,
                                  options: options)
    }
}
额外注意点
  • 拍摄前需确保开启实况模式:创建 AVCapturePhotoSettings 时,要设置 isLivePhotoEnabled = true,否则 livePhotoCompanionMovieURL 会返回空值。
  • 开启 shouldMoveFile = true 后,系统会自动将视频文件移动到相册目录,无需手动删除原文件。

内容的提问来源于stack exchange,提问作者Runcong Wu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:50:55