Iphone 使用writeImageToSavedPhotosAlbum将UIImage保存到相册
我正在尝试将UIImage保存到相册中。我试过几种方法最后一种是:Iphone 使用writeImageToSavedPhotosAlbum将UIImage保存到相册,iphone,objective-c,ios,alassetslibrary,Iphone,Objective C,Ios,Alassetslibrary,我正在尝试将UIImage保存到相册中。我试过几种方法最后一种是: -(IBAction)captureLocalImage:(id)sender{ [photoCaptureButton setEnabled:NO]; // Save to assets library ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library writeImageToSavedPhotosAlbum: imageView.im
-(IBAction)captureLocalImage:(id)sender{
[photoCaptureButton setEnabled:NO];
// Save to assets library
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum: imageView.image.CGImage metadata:nil completionBlock:^(NSURL *assetURL, NSError *error2)
{
// report_memory(@"After writing to library");
if (error2) {
NSLog(@"ERROR: the image failed to be written");
}
else {
NSLog(@"PHOTO SAVED - assetURL: %@", assetURL);
}
runOnMainQueueWithoutDeadlocking(^{
// report_memory(@"Operation completed");
[photoCaptureButton setEnabled:YES];
});
}];
}
imageView是一个UIImageView,其中包含我要保存的图像。
在日志中,我得到了“PHOTO SAVED-assetURL:(null)”并且照片没有保存到库中
我做错了什么?看看这个。。这说明了如何使用资源库保存照片
你甚至可以使用
UIImageWriteToSavedPhotosAlbum(UIImage *image, id completionTarget, SEL completionSelector, void *contextInfo);
切克出他的链接只需使用下面这一行将图像保存到您的照片库中即可
UIImageWriteToSavedPhotosAlbum(imageView.image,nil,nil,nil);
:)我正在使用GPUImage,显然库本身存在某种问题 上面的代码绝对有效。如果您想了解有关此问题的更多信息:
由于iOS 8.1 UIKit框架具有UIImageWriteToSavedPhotosAlbum()函数,正如vishy所说 我是这样使用它的:
UIImageWriteToSavedPhotosAlbum(myImage, self, "image:didFinishSavingWithError:contextInfo:", nil)
然后
func image(image: UIImage, didFinishSavingWithError error: NSError?, contextInfo:UnsafePointer<Void>) {
// check error, report image has been saved, ...
}
func映像(映像:UIImage,didFinishSavingWither错误:NSError?,contextInfo:UnsafePointer){
//检查错误,报告图像已保存。。。
}
从相机拍照时,可以将图像保存在picker delegate中:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info valueForKey:UIImagePickerControllerEditedImage];
[library writeImageToSavedPhotosAlbum:image.CGImage metadata:[info objectForKey:UIImagePickerControllerMediaMetadata] completionBlock:^(NSURL *assetURL, NSError *error) {
...
}];
[picker dismissViewControllerAnimated:YES completion:nil];
}
对于iOS 11+需要隐私-照片库添加使用说明,请参见info.plist
在info.plist中添加NSPhotoLibraryAddUsageDescription
代码:
我尝试过这些方法,结果都是一样的。有没有可能是因为我以前在当地图书馆拍照,但没关好门之类的?我可以看到我得到的照片,但无法保存它。我绝望了…我已经解决了这个问题,问题不在于这个代码片段。我已经发布了上面的确切问题。谢谢,我也有同样的问题。我还没有想出解决办法。请看下面我的答案。我解决了我的问题,也许这对你也有帮助。我认为OP是专门询问如何保存到特定的相册,而不仅仅是一般性地询问如何保存图像。(我确实意识到我在这里比赛迟到了,但在我看来这是一个重要的区别)伊朗说他在将一张照片保存到相册中时遇到了问题。这听起来像是他想保存到一张特定的专辑。1.伊丹没有接受你的回答。他接受了自己的回答。向下滚动并查看。2.你没有错,但你没有回答整个问题。在我看来,下面的@vishy在明确回答一个明确的问题方面做得更好,即如何保存,而不是保存到一张特定的专辑中。第段,我们显然不同意,任何进一步的交流都应该通过私人聊天进行。基本上,在我看来,@vishy在你写答案时已经回答了这个问题。你的答案比维希的信息少,而且你是在维希之后写的,所以它看起来既没有必要,也不如我。不管怎样,这都不是什么大不了的事。我的一票否决不会对你的信誉产生任何重大影响。@MaxvonHippel没问题,我只是给出了我的意见,你也站在你这边。谢谢:)
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);