获取PHAsset的本地文件路径

Agg*_*sor 19 ios instagram swift photosframework phasset

我有一张照片,我希望我的用户能够在Instagram上分享,我需要获取照片的本地文件目录.

但是,我将我的图像作为PHAsset(不是ALAsset,所有其他答案似乎都涵盖在这个主题上).

查看PHAsset文档,我没有看到"本地目录"变量.

你知道如何使用新的ios8 Photo框架从用户相机胶卷获取照片的路径吗?

这是我在用户照片卷中加载最后一张图片的代码

public func loadLastPhotoIntoGalleryIcon()
{
    if(PHPhotoLibrary.authorizationStatus() != PHAuthorizationStatus.Authorized)
    {
        return
    }
    var fetchOptions:PHFetchOptions = PHFetchOptions()
    fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]
    var fetchResult:PHFetchResult = PHAsset.fetchAssetsWithMediaType(PHAssetMediaType.Image, options: fetchOptions)

    var lastAsset:PHAsset = fetchResult.firstObject as PHAsset

    var options:PHImageRequestOptions = PHImageRequestOptions()
    options.version = PHImageRequestOptionsVersion.Current
    PHImageManager.defaultManager().requestImageForAsset(lastAsset, targetSize: _view.getGalleryIconSize(), contentMode: PHImageContentMode.AspectFill, options: options)
    {
        (result, objects) -> Void in
        self._view.setGalleryIcon(result)
    }

}
Run Code Online (Sandbox Code Playgroud)

Tom*_*Bąk 9

使用内容编辑输入:

asset.requestContentEditingInputWithOptions(PHContentEditingInputRequestOptions()) { (input, _) in
    let url = input.fullSizeImageURL
}
Run Code Online (Sandbox Code Playgroud)

PHAssetMediaType.Image在打开可选包装时,请确保资产是否可能崩溃.

  • input.fullSizeImageURL无法在设备上加载图像,尽管它在模拟器上运行 (4认同)