0

I have been struggling to find out how to share media on social networks in a customized way. I know that iOS natively supports sharing to Facebook, Twitter and in messages/email, but I would actually like to use third party social networks as well, examples being Instagram and Snapchat. I know that it is possible to use third party networks (with custom UIActivitiys) in share sheets (which I am explicitly trying to avoid), the only real question is, if it is advisable and/or feasible to create custom sharing options without share sheets? I would need both photo and video upload capabilities.

Example of app that uses custom sharing options

There are two scenarios I take into consideration:

1.) Go with standard share sheets

UIActivityController/ UIDocumentInteractionController :

Pros:

  • More dynamic application support.
  • Works out of the box.

Cons:

  • No custom design

2.) Go with custom design

Pros:

  • Better user experience

Cons:

  • Tedious (or even impossible/unavailable) implementation

I know this question is not too code specific, but I don't think code would help get across my point or even aid towards finding a solution.

the_critic
  • 12,720
  • 19
  • 67
  • 115
  • You can make your own UI and work directly with the third party SDK. It's completely acceptable. It's just more work for you. Here is an [example project](https://github.com/yangyubo/OWActivityViewController). – i_am_jorf Apr 18 '15 at 00:04
  • @i_am_jorf Thanks for your comment. I know that it is accepted. The thing is, is it advisable/feasible ? Isn't the link you provided also showing a standard iOS share sheet ? – the_critic Apr 18 '15 at 00:09
  • There's nothing wrong with talking to another service directly. That's totally fine. But you are going to have to write a lot of your own code to talk to the service's API. The share sheet is there to make this process simpler (and it definitely does) but nobody is going to stop you from writing your own API client. Just be prepared to add a many layers of complexity yourself - authentication, network requests, registering your app with the service etc etc. – Dare Apr 18 '15 at 02:54
  • It's advisable and feasible the moment you have a requirement that can't be satisfied with the built-in controller. For the app I work on, it was "we want color icons". So we build a custom one and changed the behavior a bit to match the overall look and feel of our app. How hard it becomes depends on your requirements. – i_am_jorf Apr 18 '15 at 14:52

0 Answers0