SaveToAlbum 函数在我的 Xamarin iOS 应用程序中不起作用

SaveToAlbum function is not working in my Xamarin iOS app

大家好,我正在使用 Xamarin 开发 iOS 应用程序,该应用程序打开相机并拍照,然后将其保存到相机胶卷,但是当我点击使用照片按钮时,应用程序崩溃了

这是 VS2012 所说的导致崩溃的原因:

Unhandled Exception:

System.NullReferenceException: Object reference not set to an instance of an object

这是我的代码:

using Foundation;
using System;
using System.CodeDom.Compiler;
using UIKit;

namespace ToolBelt.iOS
{
    partial class CameraView : UIViewController

    {
        public CameraView (IntPtr handle) : base (handle)
        {       
        }



        public override void DidReceiveMemoryWarning ()
        {
            // Releases the view if it doesn't have a superview.
            base.DidReceiveMemoryWarning ();

            // Release any cached data, images, etc that aren't in use.
        }

        public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();


            //UIPopoverController popover = new UIPopoverController (ctrl);

            // Perform any additional setup after loading the view, typically from a nib.
        }




        public override void ViewDidAppear(bool animated)
        {
            base.ViewDidAppear(animated);

            if (imageView.Image == null)
            {
                UIImagePickerController picker = new UIImagePickerController();

                picker.SourceType = UIImagePickerControllerSourceType.Camera;
                picker.Delegate = this;
                PresentViewController(picker, true, null);
            }
        }

        [Export("imagePickerController:didFinishPickingImage:editingInfo:")]
        public void FinishedPickingImage(UIKit.UIImagePickerController picker, UIKit.UIImage image, Foundation.NSDictionary editingInfo)
        {
            var someImage = UIImage.FromFile("someImage.jpg");
            someImage.SaveToPhotosAlbum((pic, error) =>
                {
                    var o = pic as UIImage;
                    Console.WriteLine("error:" + error);
                });
            DismissViewController(true, null);

        }
    }


}

我做错了什么?

任何帮助都会很棒

提前致谢!

您正在尝试使用不存在的硬编码图像,而不是使用用户选择的图像。

将您的代码更改为:

    [Export("imagePickerController:didFinishPickingImage:editingInfo:")]
    public void FinishedPickingImage(UIKit.UIImagePickerController picker, UIKit.UIImage image, Foundation.NSDictionary editingInfo)
    {
        image.SaveToPhotosAlbum((pic, error) =>
            {
                Console.WriteLine("error:" + error);
            });
        DismissViewController(true, null);

    }