Troubleshooting
Expo Router
When you load the first screen in your extension, you may see an Unmatched Route error. In this case, redirect to the correct screen within a custom unmatched route screen.
Debugging
You can view your extension's settings in the iOS Settings app: Settings > Safari > Extensions. If you want to debug your extension, you can use Safari's Web Inspector. To enable this, open Safari, go to Safari > Preferences > Advanced and check the box next to Show Develop menu in menu bar. Then, in the Safari menu bar, go to Develop > Your Device Name > popup.html.
Using a physical device
When developing on a physical device, you'll need to set the EXPO_PUBLIC_SAFARI_EXTENSION_HOSTNAME
environment variable to your computer's IP address. EXPO_PUBLIC_SAFARI_EXTENSION_HOSTNAME
defaults to localhost
, which won't work on a physical device.
EXPO_PUBLIC_SAFARI_EXTENSION_HOSTNAME=10.50.131.40
EXPO_PUBLIC_SAFARI_EXTENSION_PORT=8081
Note: If you're building with EAS, set these env variables in your
eas.json
as well. See more here.
Using a Custom Port
The default port for the development server is 8081
. If you are using a different port, you can specify the EXPO_PUBLIC_SAFARI_EXTENSION_PORT
environment variable to use a different port.
Add this to your .env
file:
EXPO_PUBLIC_SAFARI_EXTENSION_PORT=8082
Note: If you're building with EAS, set this env variables in your
eas.json
as well. See more here.
Limitations
Can't use @expo/vector-icons