ios - iOS 8.02 中的错误?打破 ALAssetsLibrary 枚举,任何解决方法?

标签 ios ios8 alassetlibrary

我认为 AssetLibrary 的组(专辑)枚举 api 在 ios 8.02 上不再工作, enumerateGroupsWithTypes:usingBlock: 在枚举所有组时不返回最近添加的组,并在调用库组时返回空(记录为://包含所有资源的库组。)

这是我的代码

+(void)loadCameraRollGroupFromAssetLibrary:(ALAssetsLibrary *)assetLibrary withBlock:(void (^)(BOOL hasPermission, YLCameraRollGroup *cameraRoll))block {
    __block BOOL foundCameraRoll = NO;
    [assetLibrary enumerateGroupsWithTypes:ALAssetsGroupLibrary usingBlock:^(ALAssetsGroup *assetsGroup, BOOL *stop) {
        if(assetsGroup){
            YLCameraRollGroup *group = [[YLCameraRollGroup alloc] initWithAssetsGroup:assetsGroup];
            if(group.isCameraroll){
                NSLog(@"found camera roll");
                *stop = YES; // this fucking stop didn't work, don't know why
                foundCameraRoll = YES;
                block(YES, group);
                return;
            }
        }
        else{
            if(!foundCameraRoll){
                NSLog(@"no camera roll");
                block(NO, nil);
            }
        }
    } failureBlock:^(NSError *error) {
        block(NO, nil);
    }];
}


-(id)initWithAssetsGroup:(ALAssetsGroup *)assetsGroup{
    self = [super init];

    if(self){
        self.name = [assetsGroup valueForProperty:ALAssetsGroupPropertyName];
        NSLog(@"loaded group: %@", self.name);
        self.assetsGroup = assetsGroup;

#if TARGET_IPHONE_SIMULATOR
        self.isCameraroll = [self.name isEqualToString:@"Saved Photos"];
#else
        self.isCameraroll = [self.name isEqualToString:@"Camera Roll"] || [self.name isEqualToString:@"Recently Added"];
#endif
    }

    return self;
}

其他人也遇到过这种情况吗?

最佳答案

ALAssetsGroupLibrary: The Library group that includes all assets that are synced from iTunes.

这不是相机胶卷。不带相机的设备的相机胶卷或保存的照片应位于 ALAssetsGroupSavedPhotos 中。我认为他们在 8.0.2 中将其从最近添加恢复回来。

关于ios - iOS 8.02 中的错误?打破 ALAssetsLibrary 枚举,任何解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078630/

相关文章:

ios - 在解析 JSON 数据时,我从同一个 url 得到不同的结果

iphone - 在 iOS 应用程序中播放多种声音(mp3、wav 等)

iOS 7/8 : How do I set the Navigation Bar to be pure white (#FFFFFF) and still maintain translucency?

ios - AssetLibrary 不返回所有带有 "ALAssetsGroupAll"的 Assets

ios - 如何在Swift 2.0中将结构保存到NSUserDefaults

objective-c - 用户更新时 NSUserDefaults 是否重置

xcode - 如何在 IOS8 键盘扩展上使用自动布局

ios - 在 UITextView 上以编程方式禁用 iOS8 Quicktype 键盘

ios - Xamarin iOS ALAssetsLibrary WriteVideoToSavedPhotosAlbum 不保存到库