如何获取存储在iCloud中的图像路径?

时间:2017-11-04 15:00:09

标签: ios swift firebase-storage phasset

我正在使用non-httpOnly来允许用户选择多个图片。我想将图片上传到Firebase,并根据他们的TLPhotoPicker,我需要检索图片的路径。

@Eridana回答documentation,如下:

PHImageManager.default().requestImageData(for: selectedAssets[0].phAsset!, options: PHImageRequestOptions(), resultHandler:
            {
                (imagedata, dataUTI, orientation, info) in
                if info!.keys.contains(NSString(string: "PHImageFileURLKey"))
                {
                    let path = info![NSString(string: "PHImageFileURLKey")] as! NSURL
                    print(path)
                } else {

                }
        })

在设备(file:///var/mobile/Media/DCIM/100APPLE/IMG_0005.PNG)中工作并打印本地图像的路径,但是当我选择存储在iCloud中的图像时,我会在控制台上打印以下错误:

  

2017-11-04 18:17:44.423826 + 0400 tourPlacesApp [242:8831] [Generic]   无法加载资产的图像数据   C2717B20-5180-4CE8-AFEB-D661C259D227 / L0 / 001 mediaType = 1/0,   sourceType = 1,(2448x3264),creationDate = 2017-07-02 06:46:00 +0000,   location = 1,hidden = 0,favorite = 0,格式为9999

当我在网上看时,我发现我必须首先将图像的元数据存储在本地文件中,然后我才能获得图像路径。

如何从存储为PHAsset

的图像中获取元数据

修改

它在here中说我需要下载图像,如果它在iCloud中,但我找不到它们解释如何下载图像的位置。

1 个答案:

答案 0 :(得分:0)

解决方法是,在TLPhotosPickerViewController.swift班级中首先搜索cloud,然后取消注释与cloud相关的所有方法和变量,特别是requestCloudDownload(asset: asset, indexPath: indexPath)方法