我正在使用资产库从 url 获取图像,我的代码是
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset){
ALAssetRepresentation *rep = [myasset defaultRepresentation];
CGImageRef iref = [rep fullResolutionImage];
UIImage *largeimage;
if (iref) {
largeimage = [UIImage imageWithCGImage:iref];
}
[self customeButtonCreated:self];
NSData* thumbImageData = [[NSData alloc] initWithContentsOfFile:imagePath];
btn1.frame = CGRectMake(x, y, WIDTH, HEIGHT);
[btn1 setTag:tag];
//[media_id addObject:[allKey objectAtIndex:0]];
[btnURl addObject:imagePath];
UIImage *tempImage = [[UIImage alloc]initWithData:thumbImageData];
[btn1 setImage:largeimage forState:UIControlStateNormal];
btn1.imageView.contentMode = UIViewContentModeScaleAspectFit;
[tempImage release];
[newView addSubview:btn1];
[btn1 addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[thumbImageData release];
imgcount++;
NSLog(@"Iamge count ---%d",imgcount);
tag++;
};
ALAssetsLibraryAccessFailureBlock failureblock = ^(NSError *myerror){
NSLog(@"Cannot get image - %@",[myerror localizedDescription]);
};
if ([seprateArr count] == 2) {
NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"assets-library://asset/asset.JPG?id=%@&ext=%@",[seprateArr objectAtIndex:0],[seprateArr objectAtIndex:1]]];
ALAssetsLibrary* assetslibrary = [[[ALAssetsLibrary alloc] init] autorelease];
[assetslibrary assetForURL:url resultBlock:resultblock failureBlock:failureblock];
}
它在 ios - 4 或更低版本中工作正常,但在 ios - 5 中它没有进入块并显示错误
无法获取图像 - 全局拒绝访问
有什么解决方案吗?