Skip to main content

React Native Safari Extension

What is it?

An Expo Config Plugin that allows you to add a Safari Extension to your iOS apps. This plugin allows you to manage your extension without having to open Xcode.

Note

Not sure what Safari Extensions are? Check out Apple's Safari Extension documentation to learn more.

Choose a workflow

There are two workflows for using this plugin:

💯 Basic Workflow

Build your own extension using HTML, CSS, and vanilla JavaScript.

🚀 Experimental Workflow

Render React Native web inside of your extension. This uses Expo web and Metro to output your React Native compononents inside of the extension popup. You can use Fast Refresh to see your changes in real time.

Which workflow should I use?

If you are building a simple extension, the Basic Workflow is probably the best option. If it's more complex, you may want to use the Experimental Workflow (it's also more fun).

Feature / WorkflowExperimental WorkflowBasic Workflow
Manage files outside of ios/
Expo Prebuild
Fast Refresh
Expo Web

Support

If you find this plugin useful, consider buying me a coffee! ☕️

"Buy Me A Coffee"