您的位置:首页 > 移动开发 > IOS开发

IOS拍照---》保存到相册----》并且获取照片的ALasset传到相册

2015-12-30 09:12 543 查看
场景:本身想把IOS拍照和相册选照片功能集成到一起,就是把拍照的相片和选相册的相片放到一个collection中,然后上传,并且拍照的照片默认在相册选照片时是选中状态的,所以需要获取拍照的照片ALasset然后传到相册中去,

问题但是获取了相册的Alasset后,在往相册方法传时一直是空,可能是assetURL方法异步的问题,但后来晚上搜罗了下才发现之前写的方法有问题:

-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

NSString *type = [info
objectForKey:UIImagePickerControllerMediaType];

if ([type isEqualToString:@"public.image"])

{

//先把图片转成NSData

UIImage* image = [info
objectForKey:@"UIImagePickerControllerOriginalImage"];

ALAssetsLibrary *library = [[ALAssetsLibrary
alloc]
init];

[library
writeImageToSavedPhotosAlbum:[image CGImage]
orientation:(ALAssetOrientation)[image
imageOrientation] completionBlock:^(NSURL *assetURL,
NSError *error){

if (error) {

// TODO: error handling

} else {

[library
assetForURL:assetURL resultBlock:^(ALAsset *asset) {

[self.selectPhotos
addObject:asset];

[_imageCollection
reloadData];

} failureBlock:^(NSError *error) {

}];

}

}];

}

}

问题就出现在ALAssetsLibrary *library
= [[ALAssetsLibrary
alloc]
init]; 这个类的声明上,

这个东东要作为公共的类进行声明,然后问题解决,具体原因不详,还请大牛多多指点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: