关于AssetsLibrary无法获取本地所有相册的问题

在我的前一篇博客中提到了如何为iPhone应用增加照片多选功能,将这个功能应用到实际生产环境中遇到了一个问题:

本地有两个相册:相机胶卷和照片图库。后者是通过同步产生的。

在如下代码中:

    dispatch_async(dispatch_get_main_queue(), ^{
        [_assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
            if (group) {
                [self.groupArray addObject:group];
                [self performSelectorOnMainThread:@selector(reloadTableView) withObject:nil waitUntilDone:YES];
            }
        } failureBlock:^(NSError *error) {
            NSLog(@"Group not found!\n");
            self.title = @"访问照片失败"; // Photo-access is disabled.
        }];
    });

通过枚举ALAssetsGroupAll类型的组别来统计相册数目,结果一直只有1个。

我很困惑,因为我用的是All选项了。琢磨了很久,终于在一个细节上找到了原因:


有点(代码)洁癖的我觉得Line 44很别扭,为什么要空一行呢,我忍不住习惯性要把这一行删掉——结果发现这是库文件。于是我顺着Line 44往后看:


后面是换行的注释,“exception”、“not”等单词晃亮了我——原来ALAssetsGroupLibrary不包括在内!

这个ALAssetsGroupAll的后缀“All”名不副实啊⋯⋯

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值