“尝试注册的过滤专辑超过 5 个。这将失败。”使用资产库

Posted

技术标签:

【中文标题】“尝试注册的过滤专辑超过 5 个。这将失败。”使用资产库【英文标题】:"More than maximum 5 filtered albums trying to register. This will fail." using AssetsLibrary 【发布时间】:2012-08-21 21:03:33 【问题描述】:

我有时会收到“尝试注册的过滤专辑超过 5 个。这将失败。”当我在 ALAssetsGroup 上调用 setAssetsFilter 时。

有人知道为什么吗?我见过类似的问题,但都与 UIImagePickerController 有关。

这里是代码:

ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];

    [lib enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) 

        [group setAssetsFilter:[ALAssetsFilter allPhotos]];
        [group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) ....];

【问题讨论】:

【参考方案1】:

大多数人都看过这个问题:ios 5 GM: : More than maximum 5 filtered album lists trying to register. This will fail。而这个:iPhone, “More than maximum 5 filtered album lists trying to register. This will fail.” Error。所以我们可以相信这是一个已知的问题错误。没什么大问题。

我也看到了这条评论:

在 iOS 5.1.1 上,我会检查源类型的可用性并 当我第五次调用图像选择器时仍然收到警告。一世 在 iOS 6.0 上看不到这个,所以 Apple 似乎已经修复了一些问题。 – Richard Altenburg - Brainchild

【讨论】:

【参考方案2】:

我猜这是一个 Apple 错误!..即使是 Apple 示例也给出了相同的错误。最好忽略它!

【讨论】:

【参考方案3】:

即使我也遇到过这个问题,但已经解决了。您只需要更改 UIImagePickerController 的源类型即可。

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];

/* 这在 IOS6 中可以正常工作,但在 IOS5 中有些问题 */ // imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; // 这样就可以解决问题了。

【讨论】:

以上是关于“尝试注册的过滤专辑超过 5 个。这将失败。”使用资产库的主要内容,如果未能解决你的问题,请参考以下文章

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份