oc获取相册源码
2015-09-07 13:26
447 查看
dispatch_async(dispatch_get_main_queue(), ^{
@autoreleasepool {
ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *err){
if ([err.localizedDescription rangeOfString:@"Global denied access"].location!=NSNotFound) {
[SGMessage showMsg:@"无法访问相册.请在'设置->定位服务'设置为打开状态." confirmTitle:@"确定" delegate:nil];
}else{
[SGNotice showErr:@"相册访问失败"];
}
};
ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result,NSUInteger index, BOOL *stop){
if (result!=NULL) {
if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) {
// 完整的路径
NSString *urlstr=[NSString stringWithFormat:@"%@",result.defaultRepresentation.url];//图片的url
// 大图
// UIImage *image = [UIImage imageWithCGImage:result.defaultRepresentation.fullScreenImage];
// 缩略图
UIImage *thumbImage = [UIImage imageWithCGImage:result.thumbnail];
// 完整名称
// NSString *resultName= [[urlstr substringFromIndex:[urlstr rangeOfString:@"id="].location+3] stringByReplacingOccurrencesOfString:@"&ext=" withString:@"."];
[self.urlStringData addObject:urlstr];
}
}
};
ALAssetsLibraryGroupsEnumerationResultsBlock libraryGroupsEnumeration = ^(ALAssetsGroup* group,BOOL* stop){
if (group!=nil) {
// 取得分组名称
NSString *f = [NSString stringWithFormat:@"%@",group];//获取相簿的组
NSString *s = [f substringFromIndex:16 ];
NSArray *arr = [NSArray arrayWithArray:[s componentsSeparatedByString:@","]];
NSString *groupName = [[arr objectAtIndex:0]substringFromIndex:5];
NSLog(@"---%@", groupName);
if ([groupName isEqualToString:@"My Photo Stream"] ) {
[group enumerateAssetsUsingBlock:groupEnumerAtion];
}
}
};
ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:libraryGroupsEnumeration
failureBlock:failureblock];
}
});
@autoreleasepool {
ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *err){
if ([err.localizedDescription rangeOfString:@"Global denied access"].location!=NSNotFound) {
[SGMessage showMsg:@"无法访问相册.请在'设置->定位服务'设置为打开状态." confirmTitle:@"确定" delegate:nil];
}else{
[SGNotice showErr:@"相册访问失败"];
}
};
ALAssetsGroupEnumerationResultsBlock groupEnumerAtion = ^(ALAsset *result,NSUInteger index, BOOL *stop){
if (result!=NULL) {
if ([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) {
// 完整的路径
NSString *urlstr=[NSString stringWithFormat:@"%@",result.defaultRepresentation.url];//图片的url
// 大图
// UIImage *image = [UIImage imageWithCGImage:result.defaultRepresentation.fullScreenImage];
// 缩略图
UIImage *thumbImage = [UIImage imageWithCGImage:result.thumbnail];
// 完整名称
// NSString *resultName= [[urlstr substringFromIndex:[urlstr rangeOfString:@"id="].location+3] stringByReplacingOccurrencesOfString:@"&ext=" withString:@"."];
[self.urlStringData addObject:urlstr];
}
}
};
ALAssetsLibraryGroupsEnumerationResultsBlock libraryGroupsEnumeration = ^(ALAssetsGroup* group,BOOL* stop){
if (group!=nil) {
// 取得分组名称
NSString *f = [NSString stringWithFormat:@"%@",group];//获取相簿的组
NSString *s = [f substringFromIndex:16 ];
NSArray *arr = [NSArray arrayWithArray:[s componentsSeparatedByString:@","]];
NSString *groupName = [[arr objectAtIndex:0]substringFromIndex:5];
NSLog(@"---%@", groupName);
if ([groupName isEqualToString:@"My Photo Stream"] ) {
[group enumerateAssetsUsingBlock:groupEnumerAtion];
}
}
};
ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:libraryGroupsEnumeration
failureBlock:failureblock];
}
});
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- ios通过按钮点击异步加载图片
- 加载带有手势识别器的XIB文件需注意哪些问题
- 仅需几行代码实现方便易用的状态栏指示器