iOS UIImagePickerController:有没有办法获取所选图片的日期?

iOS UIImagePickerController:有没有办法获取所选图片的日期?,ios,uiimagepickercontroller,Ios,Uiimagepickercontroller,在我的应用程序中,我使用UIImagePickerController调用 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 关于成功。 问题是,我需要照片拍摄的日期。如果用户拍摄了一张新照片,我当然可以拍摄当前日期,但是如果用户从他的相机卷或另一张保存的照片中选择了一张照片,我该怎么办 - (void)imageP

在我的应用程序中,我使用UIImagePickerController调用

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
关于成功。 问题是,我需要照片拍摄的日期。如果用户拍摄了一张新照片,我当然可以拍摄当前日期,但是如果用户从他的相机卷或另一张保存的照片中选择了一张照片,我该怎么办

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    NSDictionary *metadataDictionary = (NSDictionary *)[info valueForKey:UIImagePickerControllerMediaMetadata];
        // do something with the metadata

    NSLog(@"meta : %@ \n\n",metadataDictionary);
}
然后


您必须从中获取“DateTime”键的值,您可以将此代码用于从相册中获取的照片和视频info是上述委托方法中的第二个参数

NSURL *mediaUrl = info[UIImagePickerControllerReferenceURL];
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];

[assetsLibrary assetForURL:mediaUrl resultBlock:^(ALAsset *asset) {
    NSDate *date = [asset valueForProperty:ALAssetPropertyDate];
    // ...
} failureBlock:nil];

同样,要使其正常工作,您需要包括到projectAssetLibrary框架中。

iOS 11+、Swift 4+

import Photos
extension ViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    public func imagePickerController(_ picker: UIImagePickerController,
                                      didFinishPickingMediaWithInfo info: [String : Any]) {
        if let asset = info[UIImagePickerControllerPHAsset] as? PHAsset,
            let creationDate = asset.creationDate {
            print(creationDate) // Here is the date when your image was taken
        }
        dismiss(animated: true)
    }
}

不幸的是,根据文档,UIImagePickerController Diametadata仅在iOS4.1中可用,并且仅在有人拍摄新图片时可用,但不适用于库/相册中的图片:(很好,但第1行的输入错误:应该是mediaUrl而不是urlUIImagePickerControllerReferenceURL在iOS 11中不受欢迎UIImagePickerControllerReferenceUrl在iOS 11中不受欢迎