Is it possible to create a Share Extension using dev clients?

So far, the managed workflow + dev clients + EAS have absolutely nailed it for our workflow, but the final piece of the puzzle that might force us to eject is Share Extensions.

Is there any reason in principle why it wouldnt be possible installing it onto a dev client as a package and allowing EAS to build it? It seems there’s more xcode config involved and from what I’ve read it may be a special case, but there doesnt seem to be any clarity surrounding that.

Any insight is appreciated.

Hi @pastel

I think it should be possible in theory, but in particular for iOS it seems you have to make some changes to the Xcode project and those might be tricky to do with a Config Plugin.

After searching around a bit I found a few different packages for this, but the following one was the only one I found that seems to have been updated recently:

So that’s where I’d start.

Then I’d try doing this to see if I could figure out what changes to make using a config plugin:

  • Create a new app and eject it
  • Commit everything to Git, including the android and ios directories.
  • Then start going through the necessary Xcode changes. I’d do one step at a time and commit the changes to Git so I could tell what change in Xcode resulted in what changes in the project files.
  • Then for each of the changes to the files I would see if it could be done manually instead of through Xcode, and then figure out how to make the change in a config plugin.

For Android it looks like you only need to update the AndroidManifest.xml which you can do with withAndroidManifest.

1 Like

Thank you for the thorough response! I somehow missed that package when looking around. This is a great place to start. The config plugin seems like the hardest part since the share extension is a bit of a special case. Will update this post after I descend down the rabbit hole.

1 Like