保存已创建的实时照片

Saving Already Created Live Photos

我有一些创建为 JPEG 和 MOV 文件的实时照片,现在我想将它们导入到应用程序中,该应用程序允许用户将实时照片保存到他们的照片库中。我该怎么做呢?

我研究过这个:https://github.com/genadyo/LivePhotoDemoSwift 它基本上允许您录制视频并将其转换为实时照片。但是由于我已经创建了 "live photos",我可以立即将它们保存到相机胶卷还是需要走不同的路线?

您可以使用 PHLivePhoto.requestLivePhotoWithResourceFileURLs 从 LivePhoto 的单独元素创建 LivePhoto,然后您可以将其保存到图库中。

func makeLivePhotoFromItems(imageURL: NSURL, videoURL: NSURL, previewImage: UIImage, completion: (livePhoto: PHLivePhoto) -> Void) {
    PHLivePhoto.requestLivePhotoWithResourceFileURLs([imageURL, videoURL], placeholderImage: previewImage, targetSize: CGSizeZero, contentMode: PHImageContentMode.AspectFit) {
        (livePhoto, infoDict) -> Void in
        if let lp = livePhoto {
            completion(livePhoto: lp)
        }
    }
}

makeLivePhotoFromItems(imgURL, videoURL: movURL, previewImage: prevImg) { (livePhoto) -> Void in
    // "livePhoto" is your PHLivePhoto object, save it/use it here
}

您将需要 JPEG 文件 URL、MOV 文件 URL 和一张 "preview" 图片(通常只是 JPEG 或它的较轻版本)。

在 Playground 中工作的完整示例