您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> ios >> 正文

解决AssetsLibrary无法获取本地所有相册

作者:佚名    责任编辑:admin    更新时间:2022-06-22

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

    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不包括在内!