简体   繁体   English

如何使用PHPhotoLibrary获取照片的日期

[英]How to get the date of a photo using PHPhotoLibrary

I'm trying to convert from ALAssetsLibrary to PHPhotoLibrary since it is deprecated. 由于它已弃用,因此我正尝试从ALAssetsLibrary转换为PHPhotoLibrary。 I need to grab the date from a chosen photo from the photo library but can't figure out the right way. 我需要从照片库中选择的照片中获取日期,但是找不到正确的方法。 Here is how I'm currently doing it. 这是我目前的操作方式。

mediaUrl = info[UIImagePickerControllerReferenceURL] as? NSURL

... ...

let assetsLibrary = ALAssetsLibrary()
assetsLibrary.assetForURL(mediaUrl, resultBlock: { (asset) -> Void in
    guard let asset = asset else { return }
    guard let date = asset.valueForProperty(ALAssetPropertyDate) as? NSDate else { return }
    let dateString = dateFormatter.stringFromDate(date)

    //---- use date string here

    }) { (error) -> Void in
        print(error)
    }

Here is where I've gotten to: 这是我要去的地方:

let photoLibrary = PHPhotoLibrary.sharedPhotoLibrary()
var photoAssetPlaceholder: PHObjectPlaceholder!
photoLibrary.performChanges({
    let request = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
    photoAssetPlaceholder = request.placeholderForCreatedAsset
    }, completionHandler: { success, error in
        if success {
            print (photoAssetPlaceholder)
            //How do I get date from PhotoAssetPlaceholder???
        } else {
            print(error?.localizedDescription)
        }

        })

I feel like I'm close. 我觉得我接近了。 Any help would be appreciated! 任何帮助,将不胜感激!

The model objects that represents the photos and videos themselves are of type PHAsset . 代表照片和视频本身的模型对象的类型为PHAsset

A PHAsset contains metadata such as the asset's media type and its creation date. PHAsset包含元数据,例如资产的媒体类型及其创建日期。

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM