小编C. *_*tra的帖子

PHAssetChangeRequest无法使用相机拍摄UIImage

我在为我正在处理的iOS应用程序实现相机View Controller时遇到问题.当按下一个按钮时,我有一个单独的相机对象来管理AVFoundation事物的一面并捕获图像.如下所示,一旦UIImage从相机捕获,我就会通过一个使用它的完成块.

下面的第一种方法是在相机上按下捕获按钮时触发的动作.首先,通过禁用预览图层上的连接暂停摄像机图层,然后捕获图像.然后,相机对象捕获UIImage,此时我从视图中移除相机预览图层,而是UIImageView在其位置添加捕获图像的子视图.

接下来,我想使用Photos框架将图像添加到我在Photos中创建的相册中.我可以毫无问题地创建相册,并且我已经验证了该PHAssetCollection对象.我在第二种方法中使用的是正确的方法.

但是,出于某种原因,我无法将UIImageI capture 添加到相册中.我尝试将我项目中的随机图像文件添加到相册中,操作成功完成.我还验证了addPhotoToSavedPhotos通过使用NSLog语句检查两种方法中的图像描述,成功传递了正确的图像.这让我相信图像不知何故出了问题,但是imageView成功地显示了它,所以我不确定它可能是什么.

如果有人对我可能会尝试的解决方案有任何想法,我将不胜感激.另外error.localizedDescriptionNSLog第二种方法中的语句输出"The operation couldn't be completed.(可可错误-1)."

- (IBAction)capturePhoto:(id)sender {

    [self pauseCameraLayer];
    [[eventCamera sharedInstance] captureStillUIImage:^(UIImage *image, NSError *error){

        if(error)
        {
            NSLog(@"error capturing photo");
        }
        else
        {
            NSLog(@"%@",image.debugDescription);
        }
        [_captureButton setHidden:YES];
        [_switchCameraButton setHidden:YES];
        UIImageView *preview=[[UIImageView alloc] initWithImage:image];
        [preview setAutoresizesSubviews:YES];
        [preview setContentMode:UIViewContentModeScaleAspectFit];
        [preview setTransform:CGAffineTransformMakeRotation(M_PI_2)];
        preview.frame=_imageView.bounds;
        [_imageView addSubview:preview];
        [self addPhotoToSavedPhotos:[image copy]];
        NSLog(@"1: %@",image.description);
    }];

-(void)addPhotoToSavedPhotos:(UIImage*)photo
{ …
Run Code Online (Sandbox Code Playgroud)

objective-c uiimage ios photosframework phphotolibrary

10
推荐指数
1
解决办法
453
查看次数