Sharing image to Whatsapp & Facebook

前端 未结 2 679
孤街浪徒
孤街浪徒 2020-12-28 09:23

I\'m already able to share photos to Whatsapp but the way I do this is by providing Whatsapp option in a UIActivityViewController and then showing a UIDoc

相关标签:
2条回答
  • 2020-12-28 09:46

    Well, if I understand the question in a proper way, there is an option to share it easily via 1 UIDocumentInteractionController, please review my old question & answer: https://stackoverflow.com/a/20887254/849616.

    0 讨论(0)
  • 2020-12-28 09:59

    So basically, you want to share an image via Facebook or Whatsapp, plus provide an option to save the image.

    Well... Lets break this down slowly for the 2 quickest ways.


    Facebook + Whatsapp

    Via UIActivityViewController

    If you share image via UIActivityViewController then in order to provide Whatsapp option, you'll need to create a custom UIActivity (See Stackoverflow Question).

    The problems with this are:

    1. Whatsapp has not provided a URL scheme to pass an image object (yet).
      Look at JBWhatsAppActivity if you're curious about this in general.

    Via UIDocumentInteractionController

    If you share image via UIDocumentInteractionController then in order to provide the Facebook option, you'll need to specify the UTI as public.image.

    The problems with this are:

    1. The public.image UTI will populate your UIDocumentInteractionController with alot more options than just Facebook and Whatsapp.
    2. For Save option, rather than
      • Using -presentOpenInMenuFromRect:inView:animated: method that displays only apps that open this file type...
      • You will need to use -presentOptionsMenuFromRect:inView:animated: method in order to show the option Save to Album. But this will include other options such as Mail etc.

    Summary:

    If you use only UIDocumentInteractionController then you should accept the fact that you cannot show just Facebook + Whatsapp + Save (due to the reasons mentioned above)

    If you use UIActivityViewController and don't want to create a custom UIActivity for Whatsapp, then you're stuck but... if you decide to use a custom UIActivity then you're still stuck because there's no provision to share an image object with Whatsapp using UIActivityViewController.

    Conclusion:

    There doesn't seem to be any easy way to have just Facebook + Whatsapp + Save option.

    The thing that complicates it is Whatsapp which forces you to use UIDocumentInteractionController which seems like the only way to share an image on Whatsapp (currently) and due to it's limited URL scheme, there's no point providing it in UIActivityViewController.

    Furthermore, using UIDocumentInteractionController in turns leads you to provide more options than you would want.

    Honestly, this looks pretty bleak right now.

    0 讨论(0)
提交回复
热议问题