首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从PHAssetCollection中正确获取自定义相册

如何从PHAssetCollection中正确获取自定义相册
EN

Stack Overflow用户
提问于 2018-06-25 19:16:17
回答 1查看 503关注 0票数 1

我已经创建了一个自定义相册,现在我正在尝试从FTP站点下载一个视频,并将其移到自定义相册中。

我正在使用VisualStudio2017 Xamarin C# ios 11.4。

在Info.plist中设置的权限设置在此块之前,我正在测试以验证用户是否有权访问照片库。

这是我第一次使用PHPhotoLibrary,我找不到很多C#代码示例。

没有生成错误,只会在PHFetchReult fetchResult开头的行崩溃。

更新后在我的iPad上的日志中找到了这个。

日期/时间: 2018-06-25 18:05:54-0400操作系统版本: iPhone OS 11.4.1 (Build 15G5072a)体系结构: arm64报告版本: 26

资料来源: KPerf轻量级PET内核缓存:0 Source 0000000 07AF39CA-659D-3636-4A4A-FE05631AA416原因:UIKit AppStore:超时值816 PET

命令:/ AppStore路径/AppStore.app/AppStore标识符: com.apple.AppStore版本: 3.0 (1)父: launchd 1 PID: 4415

持续时间:0.8级: 16次(50毫秒采样间隔)

硬件模型: J71AP活动cpus: 2

代码语言:javascript
复制
private PHAssetCollection FindAlbum(string title)
{
    PHAssetCollection photoAlbum = null;

    var fetchOptions = new PHFetchOptions() { Predicate = 
        NSPredicate.FromFormat(string.Format("title={0}", title)) };
    PHFetchResult fetchResult = PHAssetCollection.FetchAssetCollections(PHAssetCollectionType.Album, PHAssetCollectionSubtype.Any, options: fetchOptions); 

    if (fetchResult.firstObject != null)
    {
        photoAlbum = (PHAssetCollection)fetchResult.firstObject;
    }
    return photoAlbum;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-26 02:56:03

我弄清楚了发生了什么,以及如何解决它,尽管我不完全理解为什么对象不返回null,而是崩溃,也许这是一个bug。

最后,问题是谓词没有被正确地传递。我还配对搜索,以包括子类型的只有RegularAlbums,因为我是专门寻找一个自定义专辑。

希望这能帮助C#世界中的其他人:)

代码语言:javascript
复制
   private PHAssetCollection FindAlbum(string title)
    {
        PHAssetCollection photoAlbum = null;
        var arguments = new NSObject[] { NSObject.FromObject( title) };
        var fetchOptions = new PHFetchOptions() { Predicate = NSPredicate.FromFormat("title=%@", arguments) };

        PHFetchResult fetchResult = PHAssetCollection.FetchAssetCollections(PHAssetCollectionType.Album, PHAssetCollectionSubtype.AlbumRegular, fetchOptions);

        if (fetchResult.firstObject != null)
        {
            photoAlbum = (PHAssetCollection)fetchResult.firstObject;

        }
        return photoAlbum;
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51030478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档