Exemplo n.º 1
0
        /// <summary>
        /// Open Instagram with the specified image and caption.
        /// </summary>
        /// <returns><c>true</c> if Instagram is installed, <c>false</c> otherwise.</returns>
        /// <param name="image">Image.</param>
        /// <param name="caption">Caption.</param>
        public static bool Instagram(UIImage image, string caption = null)
        {
            if (!UIApplication.SharedApplication().CanOpenURL(new NSURL("instagram://app")))
            {
                return(false);
            }

            // write image to tmp folder
            NSData data     = image.JPEGRepresentation(1f);
            string filePath = Application.temporaryCachePath + "/" + UUID.Generate() + ".igo";

            data.WriteToFile(filePath, true);

            _documentIC     = UIDocumentInteractionController.InteractionController(new NSURL(filePath, false));
            _documentIC.UTI = "com.instagram.exclusivegram";
            if (caption != null)
            {
                var annotation = new Dictionary <object, object>();
                annotation["InstagramCaption"] = caption;
                _documentIC.annotation         = annotation;
            }

            var rootView = UIApplication.deviceRootViewController.view;

            _documentIC.PresentOpenInMenu(new Rect(0, 0, 1, 1), rootView, true);
            return(true);
        }