0
我認爲AssetLibrary的組(專輯)枚舉api不再適用於ios 8.02,enumerateGroupsWithTypes:usingBlock:枚舉所有組時不會返回最近添加的組,並在調用庫組時返回空值(記錄爲://包括所有資產庫組。)iOS 8.02中的錯誤?打破ALAssetsLibrary枚舉,任何解決方法?
這是我的代碼
+(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;
}
是否發生在其他人?
您使用'ALAssetsGroupAll'枚舉時看到了哪些組名? – Xyand 2014-09-27 20:12:50
我看到除「最近添加」和「最近刪除」之外的所有組。這是什麼改變了,在iOS 8.0上它返回了「最近添加」專輯。 – 2014-09-28 07:11:28