Commit e07490f1 authored by Ruslan Balkarov's avatar Ruslan Balkarov

isCameraRollAlbum for all languages

parent 9050e37e
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
- (BOOL)isAssetsArray:(NSArray *)assets containAsset:(id)asset; - (BOOL)isAssetsArray:(NSArray *)assets containAsset:(id)asset;
- (NSString *)getAssetIdentifier:(id)asset; - (NSString *)getAssetIdentifier:(id)asset;
- (BOOL)isCameraRollAlbum:(NSString *)albumName; - (BOOL)isCameraRollAlbum:(id)metadata;
/// 检查照片大小是否满足最小要求 /// 检查照片大小是否满足最小要求
- (BOOL)isPhotoSelectableWithAsset:(id)asset; - (BOOL)isPhotoSelectableWithAsset:(id)asset;
......
...@@ -136,7 +136,7 @@ static dispatch_once_t onceToken; ...@@ -136,7 +136,7 @@ static dispatch_once_t onceToken;
for (PHAssetCollection *collection in smartAlbums) { for (PHAssetCollection *collection in smartAlbums) {
// 有可能是PHCollectionList类的的对象,过滤掉 // 有可能是PHCollectionList类的的对象,过滤掉
if (![collection isKindOfClass:[PHAssetCollection class]]) continue; if (![collection isKindOfClass:[PHAssetCollection class]]) continue;
if ([self isCameraRollAlbum:collection.localizedTitle]) { if ([self isCameraRollAlbum:collection]) {
PHFetchResult *fetchResult = [PHAsset fetchAssetsInAssetCollection:collection options:option]; PHFetchResult *fetchResult = [PHAsset fetchAssetsInAssetCollection:collection options:option];
model = [self modelWithResult:fetchResult name:collection.localizedTitle]; model = [self modelWithResult:fetchResult name:collection.localizedTitle];
if (completion) completion(model); if (completion) completion(model);
...@@ -146,8 +146,8 @@ static dispatch_once_t onceToken; ...@@ -146,8 +146,8 @@ static dispatch_once_t onceToken;
} else { } else {
[self.assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { [self.assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if ([group numberOfAssets] < 1) return; if ([group numberOfAssets] < 1) return;
if ([self isCameraRollAlbum:group]) {
NSString *name = [group valueForProperty:ALAssetsGroupPropertyName]; NSString *name = [group valueForProperty:ALAssetsGroupPropertyName];
if ([self isCameraRollAlbum:name]) {
model = [self modelWithResult:group name:name]; model = [self modelWithResult:group name:name];
if (completion) completion(model); if (completion) completion(model);
*stop = YES; *stop = YES;
...@@ -189,7 +189,7 @@ static dispatch_once_t onceToken; ...@@ -189,7 +189,7 @@ static dispatch_once_t onceToken;
if ([collection.localizedTitle tz_containsString:@"Hidden"] || [collection.localizedTitle isEqualToString:@"已隐藏"]) continue; if ([collection.localizedTitle tz_containsString:@"Hidden"] || [collection.localizedTitle isEqualToString:@"已隐藏"]) continue;
if ([collection.localizedTitle tz_containsString:@"Deleted"] || [collection.localizedTitle isEqualToString:@"最近删除"]) continue; if ([collection.localizedTitle tz_containsString:@"Deleted"] || [collection.localizedTitle isEqualToString:@"最近删除"]) continue;
if ([self isCameraRollAlbum:collection.localizedTitle]) { if ([self isCameraRollAlbum:collection]) {
[albumArr insertObject:[self modelWithResult:fetchResult name:collection.localizedTitle] atIndex:0]; [albumArr insertObject:[self modelWithResult:fetchResult name:collection.localizedTitle] atIndex:0];
} else { } else {
[albumArr addObject:[self modelWithResult:fetchResult name:collection.localizedTitle]]; [albumArr addObject:[self modelWithResult:fetchResult name:collection.localizedTitle]];
...@@ -211,7 +211,7 @@ static dispatch_once_t onceToken; ...@@ -211,7 +211,7 @@ static dispatch_once_t onceToken;
} }
} }
if ([self isCameraRollAlbum:name]) { if ([self isCameraRollAlbum:group]) {
[albumArr insertObject:[self modelWithResult:group name:name] atIndex:0]; [albumArr insertObject:[self modelWithResult:group name:name] atIndex:0];
} else if ([name isEqualToString:@"My Photo Stream"] || [name isEqualToString:@"我的照片流"]) { } else if ([name isEqualToString:@"My Photo Stream"] || [name isEqualToString:@"我的照片流"]) {
if (albumArr.count) { if (albumArr.count) {
...@@ -799,20 +799,16 @@ static dispatch_once_t onceToken; ...@@ -799,20 +799,16 @@ static dispatch_once_t onceToken;
} }
} }
- (BOOL)isCameraRollAlbum:(NSString *)albumName { - (BOOL)isCameraRollAlbum:(id)metadata {
NSString *versionStr = [[UIDevice currentDevice].systemVersion stringByReplacingOccurrencesOfString:@"." withString:@""]; if ([metadata isKindOfClass:[PHAssetCollection class]]) {
if (versionStr.length <= 1) { return ((PHAssetCollection *)metadata).assetCollectionSubtype == PHAssetCollectionSubtypeSmartAlbumUserLibrary;
versionStr = [versionStr stringByAppendingString:@"00"]; }
} else if (versionStr.length <= 2) { if ([metadata isKindOfClass:[ALAssetsGroup class]]) {
versionStr = [versionStr stringByAppendingString:@"0"]; ALAssetsGroup *group = metadata;
} return ([[group valueForProperty:ALAssetsGroupPropertyType] intValue] == ALAssetsGroupSavedPhotos);
CGFloat version = versionStr.floatValue;
// 目前已知8.0.0 - 8.0.2系统,拍照后的图片会保存在最近添加中
if (version >= 800 && version <= 802) {
return [albumName isEqualToString:@"最近添加"] || [albumName isEqualToString:@"Recently Added"];
} else {
return [albumName isEqualToString:@"Camera Roll"] || [albumName isEqualToString:@"相机胶卷"] || [albumName isEqualToString:@"所有照片"] || [albumName isEqualToString:@"All Photos"];
} }
return NO;
} }
- (NSString *)getAssetIdentifier:(id)asset { - (NSString *)getAssetIdentifier:(id)asset {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment