如何使用Xamarin在Instagram上发布图像和视频。 iOS版

时间:2016-04-14 12:40:29

标签: xamarin xamarin.ios

如何在Xamarin.iOS应用程序中使用c#在Instagram上发布类似于SLComposeViewController的图像。

2 个答案:

答案 0 :(得分:0)

我不认为你可以像在SLComposeViewController中使用Instagram或Facebook共享额外的文本。 看看here

最好使用UIActivityViewController并将图像添加到activityItems,如此答案https://stackoverflow.com/a/32783758/1107580

答案 1 :(得分:0)

目前有两种方法可以将您的应用中的图片分享到Instagram:

  1. 将照片保存到相机库。使用网址 @" instagram:// camera" 打开Instagram应用。它打开Instagram应用程序直接按照创建日期排序的白色图片,你的一个将是第一个。
  2. 使用 UIDocumentInteractionController 打开操作表。用户在Instagram中选择“导入”后,将弹出以裁剪开始的Instagram的共享流程。
  3. 以下是Xamarin中第二个选项的代码:

    UIImage imageToUse = _your_ui_image_instance;
    NSString documentDirectory = (new NSString(Environment.GetFolderPath(Environment.SpecialFolder.Personal)));
    string saveImagePath = documentDirectory.AppendPathComponent(new NSString(@"Image.ig"));
    NSData imageData = imageToUse.AsPNG();
    imageData.Save(saveImagePath, true);
    NSUrl imageURL = NSUrl.FromFilename(saveImagePath);
    
    DocumentController = new UIDocumentInteractionController();
    DocumentController.Url = imageURL;
    DocumentController.Uti = "com.instagram.photo";
    
    DocumentController.PresentOpenInMenu(new RectangleF(1, 1, 1, 1), View, true);
    

    请记住将DocumentController声明为类'字段而不是本地属性(如果过早地丢失UIDocumentInteractionController将执行PresentOpenInMenu,则会出现错误。)

    您可以使用uti com.instagram.exclusivegram 和扩展名 .igo 在操作表中显示更少的应用。