# ez-expo-share

> Config plugin to add a Share Extension to a React Native iOS app

Latest version **0.1.17** (published 2023-09-19) · MIT license · 0 weekly downloads

## Install

```sh
npm install ez-expo-share
pnpm add ez-expo-share
yarn add ez-expo-share
bun add ez-expo-share
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.17 |
| Published | 2023-09-19 |
| First published | 2023-07-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 62.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | ezerway |
| Maintainers | ezerway |
| Keywords | react-native, expo, ez-expo-share, EzExpoShare |

## Links

- npm: https://www.npmjs.com/package/ez-expo-share
- Repository: https://github.com/ezerway/ez-expo-share
- Homepage: https://github.com/ezerway/ez-expo-share#readme
- Issues: https://github.com/ezerway/ez-expo-share/issues
- npm.io page: https://npm.io/package/ez-expo-share

## Recent versions

- 0.1.17 (latest) — 2023-09-19
- 0.1.16 — 2023-08-28
- 0.1.15 — 2023-08-27
- 0.1.14 — 2023-08-27
- 0.1.13 — 2023-08-27
- 0.1.12 — 2023-08-27
- 0.1.11 — 2023-08-27
- 0.1.10 — 2023-08-27
- 0.1.9 — 2023-08-27
- 0.1.8 — 2023-08-24
- 0.1.7 — 2023-08-24
- 0.1.6 — 2023-08-24
- 0.1.5 — 2023-08-24
- 0.1.4 — 2023-08-24
- 0.1.3 — 2023-08-21
- … 3 more at https://npm.io/package/ez-expo-share/versions

## README

# ez-expo-share

> **Warning** This plugin is a work in progress so there may be some bugs. Please feel free to contribute by reporting any issues or opening a PR.

## What is it?

An [Expo Config Plugin](https://docs.expo.dev/guides/config-plugins/) that allows you to add a Share Extension to your iOS/Android apps.

> **Note** Not sure what Share Extensions are? Check out [Apple's Share Extension documentation](https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Share.html) to learn more.

## Getting Started

1. Install the plugin

```console
npx expo install ez-expo-share
```

2. Configure the plugin in your `app.json`. Specify a `folderName` for where your extension files will live.

```json
{
  "expo": {
    "name": "myApp",
    "plugins": [
      ["ez-expo-share", { "folderName": "MyExtension", "swift": false }]
    ]
  }
}
```

3. Add your extension files to a folder with the name provided above (this folder should be in the root of your project). You can use one of the examples in the `_extensions` directory as a reference.

```console

├── app.json
├── MyExtension # <-- the folder name you provided in the plugin config
│   ├── MainInterface.storyboard
│   └── Info.plist
│   └── ShareViewController.h
│   └── ShareViewController.m
├── node_modules/
├── package.json
└── ...
```

3. If you are using an Expo managed workflow, run a build using EAS. Before it builds, it will run the prebuild step, which triggers the plugin and any others you have specified. If you are using a bare workflow, run `npx expo prebuild -p ios` to run the plugin manually, then run `npx expo run:ios`.

4. Once the app has successfully run, open the Safari app, navigate to any webpage, and press the `AA` button in the address bar. This will open a context menu. Select `Manage Extensions` and enable your extension by switching the toggle on. You should now see your extension as an option in the context menu below Manage Extensions. Click on your extension to open it.

## Acknowledgements

This was heavily inspired by [Andrew Levy](https://github.com/andrew-levy)'s [React Native Safari Extension](https://github.com/andrew-levy/react-native-safari-extension).

---
_Source: https://npm.io/package/ez-expo-share · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
