我正在使用此代码获取用户ALAssetsLibrary
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
// Enumerate just the photos and videos group by using ALAssetsGroupSavedPhotos.
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
// Within the group enumeration block, filter to enumerate just photos.
[group setAssetsFilter:[ALAssetsFilter allPhotos]];
// Chooses the photo at the last index
[group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *alAsset, NSUInteger index, BOOL *innerStop) {
// The end of the enumeration is signaled by asset == nil.
if (alAsset) {
alasset不时返回的问题我不知道为什么。我尝试过的大多数手机都运行良好,但出于某种原因,其他手机的气囊只是零返回。
答案 0 :(得分:1)
iOS8推出了新的Photos Framework。以前存储在设备上的许多资产现在都存储在iCloud中(即不在设备上)。照片框架旨在与这些资产(设备上可能存在或可能不存在的资产)进行交互时使用。
我的猜测是ALAssetLibrary对于未在设备上本地存储的资产返回nil。因此,您遇到的问题。
我最近听说iOS 8.1回滚了这个与iCloud相关的变化,虽然我无法验证自己。
希望这有帮助。