bsky-app/plugins/shareExtension
Hailey d451f82f54
Share Extension/Intents (#2587)
* add native ios code outside of ios project

* helper script

* going to be a lot of these commits to squash...backing up

* save

* start of an expo plugin

* create info.plist

* copy the view controller

* maybe working

* working

* wait working now

* working plugin

* use current scheme

* update intent path

* use better params

* support text in uri

* build

* use better encoding

* handle images

* cleanup ios plugin

* android

* move bash script to /scripts

* handle cases where loaded data is uiimage rather than uri

* remove unnecessary logic, allow more than 4 images and just take first 4

* android build plugin

* limit images to four on android

* use js for plugins, no need to build

* revert changes to app config

* use correct scheme on android

* android readme

* move ios extension to /modules

* remove unnecessary event

* revert typo

* plugin readme

* scripts readme

* add configurable scheme to .env, default to `bluesky`

* remove debug

* revert .gitignore change

* add comment about updating .env to app.config.js for those modifying scheme

* modify .env

* update android module to use the proper url

* update ios extension

* remove comment

* parse and validate incoming image uris

* fix types

* rm oops

* fix a few typos
2024-02-27 15:22:03 -08:00
..
README.md Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withAppEntitlements.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withExtensionEntitlements.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withExtensionInfoPlist.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withExtensionViewController.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withIntentFilters.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withShareExtensions.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00
withXcodeTarget.js Share Extension/Intents (#2587) 2024-02-27 15:22:03 -08:00

README.md

Share extension plugin for Expo

This plugin handles moving the necessary files into their respective iOS and Android targets and updating the build phases, plists, manifests, etc.

Steps

ios

  1. Update entitlements
  2. Set the app group to group.
  3. Add the extension plist
  4. Add the view controller
  5. Update the xcode project's build phases

android

  1. Update the manifest with the intents the app can receive

Credits

Adapted from https://github.com/andrew-levy/react-native-safari-extension and https://github.com/timedtext/expo-config-plugin-ios-share-extension/blob/master/src/withShareExtensionXcodeTarget.ts