iOS PDF文件连接转化为img图片保存到相册


{

//self.passURL 是后台返回的可以加载显示到webView中的PDF链接 if ([self.passURL isEqualToString:@""] || self.passURL == nil || [self.passURL isEqual:nil] || !self.passURL) { [self InvalidAlertView]; return; } NSURL *url = [[NSURL alloc] initWithString:self.passURL]; CFURLRef ref = (__bridge CFURLRef)url; pdf = CGPDFDocumentCreateWithURL(ref); CFRelease(ref); CGImageRef imageRef = PDFPageToCGImage(1,pdf); UIImage *amg = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); //保存图片到相册 UIImageWriteToSavedPhotosAlbum(amg, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); }

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
    
    if (error == nil) {
        
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"图片已保存到相册" delegate:self cancelButtonTitle:nil otherButtonTitles:@"好的", nil];
        [alert show];
    }else{
        
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"保存失败" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
        [alert show];
    }
    
}

 

问题:在dealloc中 写CGPDFDocumentRelease(pdf)这个方法,如果保存完照片后,快速点击返回按钮会崩溃,如果等2秒后点击返回不会崩,所以在项目中先屏蔽掉了。

如果有哪位解决了不崩溃,请留个言,谢过了

- (void)dealloc {

   // CGPDFDocumentRelease(pdf);

    if ([self.mainWebView isLoading]){

        [self.mainWebView stopLoading];

    }

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM