Détail du package

expo-web-browser

expo2.7mMIT14.2.0

Provides access to the system's web browser and supports handling redirects. On iOS, it uses SFSafariViewController or ASWebAuthenticationSession, depending on the method you call, and on Android it uses ChromeCustomTabs. As of iOS 11, SFSafariViewControl

react-native, expo, expo-web-browser, web

readme

Expo logo

Expo

Expo SDK version Chat or ask a question License: MIT Downloads

Try Expo in the Browser  •  Read the Documentation  •  Learn more on our blog  •  Request a feature

Follow us on

Expo on X   Expo on GitHub   Expo on Reddit   Expo on Bluesky   Expo on LinkedIn

Introduction

Expo is an open-source platform for making universal native apps that run on Android, iOS, and the web. It includes a universal runtime and libraries that let you build native apps by writing React and JavaScript.

This repository includes the Expo SDK, Modules API, Go app, CLI, Router, documentation, and various other supporting tools. Expo Application Services (EAS) is a platform of hosted services that are deeply integrated with Expo open source tools. EAS helps you build, ship, and iterate on your app as an individual or a team.

Read the Expo Community Guidelines before interacting in the repository. Thank you for helping keep the Expo community open and welcoming!

Table of contents

📚 Documentation

Learn about building and deploying universal apps in our official docs!

🗺 Project Layout

  • packages All the source code for Expo modules, if you want to edit a library or just see how it works this is where you'll find it.
  • apps This is where you can find Expo projects which are linked to the development modules. You'll do most of your testing in here.
  • apps/expo-go This is where you can find the source code for Expo Go.
  • apps/expo-go/ios/Exponent.xcworkspace is the Xcode workspace. When developing iOS, always open this instead of Exponent.xcodeproj because the workspace also loads the CocoaPods dependencies.
  • docs The source code for https://docs.expo.dev
  • templates The template projects you get when you run npx create-expo-app
  • react-native-lab This is our fork of react-native used to build Expo Go.
  • guides In-depth tutorials for advanced topics like contributing to the client.
  • tools contain build and configuration tools.
  • template-files contains templates for files that require private keys. They are populated using the keys in template-files/keys.json.
  • template-files/ios/dependencies.json specifies the CocoaPods dependencies of the app.

🏅 Badges

Let everyone know your app can be run instantly in the Expo Go app!

runs with Expo Go

runs with Expo Go

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-000.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

[![runs with Expo Go](https://img.shields.io/badge/Runs%20with%20Expo%20Go-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.dev/client)

👏 Contributing

If you like Expo and want to help make it better then check out our contributing guide! Check out the CLI package to work on the Expo CLI.

❓ FAQ

If you have questions about Expo and want answers, then check out our Frequently Asked Questions!

If you still have questions you can ask them on our Discord and Forums or X @expo.

💙 The Team

Curious about who makes Expo? Here are our team members!

License

The Expo source code is made available under the MIT license. Some of the dependencies are licensed differently, with the BSD license, for example.

Star the Expo repo on GitHub to support the project

changelog

Changelog

Unpublished

🛠 Breaking changes

🎉 New features

🐛 Bug fixes

💡 Others

14.2.0 — 2025-06-11

🎉 New features

14.1.6 — 2025-04-30

This version does not introduce any user-facing changes.

14.1.5 — 2025-04-25

This version does not introduce any user-facing changes.

14.1.4 — 2025-04-21

🐛 Bug fixes

14.1.3 — 2025-04-14

This version does not introduce any user-facing changes.

14.1.2 — 2025-04-11

💡 Others

14.1.1 — 2025-04-09

This version does not introduce any user-facing changes.

14.1.0 — 2025-04-04

🎉 New features

🐛 Bug fixes

  • [iOS] Fix an issue where the app will crash when using the popover presentation style on iPad. (#33996 by @jblarriviere)
  • [Android] Fix an issue where the browser would close when returning from the background.(#34160 by @alanjhughes)

💡 Others

  • [Android] Started using expo modules gradle plugin. (#34176 by @lukmccall)
  • [apple] Migrate remaining expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)

14.0.2 - 2025-01-10

This version does not introduce any user-facing changes.

14.0.1 — 2024-11-14

This version does not introduce any user-facing changes.

14.0.0 — 2024-10-22

🛠 Breaking changes

🎉 New features

  • [iOS] dismissBrowser function updated to return a promise. (#31210 by @nishan)

🐛 Bug fixes

  • Add missing react-native peer dependencies for isolated modules. (#30490 by @byCedric)

💡 Others

13.0.3 — 2024-04-29

🐛 Bug fixes

  • On iOS, fix an issue where rapidly opening and closing the browser would leave the module in a bad state, preventing opening the browser again. (#28452 by @alanjhughes)

13.0.2 — 2024-04-24

This version does not introduce any user-facing changes.

13.0.1 — 2024-04-23

This version does not introduce any user-facing changes.

13.0.0 — 2024-04-18

💡 Others

  • drop unused web name property. (#27437 by @EvanBacon)
  • Update error message to reflect that web crypto works on web with a localhost hostname and often doesn't require https. (#26729 by @EvanBacon)
  • Remove compare-urls and url dependencies in favor of built-in URL support. (#26702 by @EvanBacon)
  • Removed deprecated backward compatible Gradle settings. (#28083 by @kudo)

12.8.2 - 2024-01-24

💡 Others

12.8.1 - 2023-12-19

This version does not introduce any user-facing changes.

12.8.0 — 2023-11-14

🛠 Breaking changes

12.7.0 — 2023-10-17

🛠 Breaking changes

12.6.0 — 2023-09-15

This version does not introduce any user-facing changes.

12.5.0 — 2023-09-04

🎉 New features

  • Added support for React Native 0.73. (#24018 by @kudo)

12.4.1 — 2023-08-02

This version does not introduce any user-facing changes.

12.4.0 — 2023-07-28

This version does not introduce any user-facing changes.

12.3.2 — 2023-06-28

This version does not introduce any user-facing changes.

12.3.1 — 2023-06-27

🐛 Bug fixes

  • On iOS, fixed crash when opening an invalid URL in the web browser. (#22986 by @hirbod)

12.3.0 — 2023-06-21

📚 3rd party library updates

🐛 Bug fixes

  • On iOS fix browser session being kept alive after view controller is dismissed. (#22415 by @alanjhughes)
  • Fixed Android build warnings for Gradle version 8. (#22537, #22609 by @kudo)

12.2.0 — 2023-05-08

This version does not introduce any user-facing changes.

12.1.1 — 2023-02-09

This version does not introduce any user-facing changes.

12.1.0 — 2023-02-03

🐛 Bug fixes

💡 Others

  • On Android bump compileSdkVersion and targetSdkVersion to 33. (#20721 by @lukmccall)

12.0.0 — 2022-10-25

🛠 Breaking changes

  • Bumped iOS deployment target to 13.0 and deprecated support for iOS 12. (#18873 by @tsapeta)

🎉 New features

  • Support CSS colors in controlsColor, toolbarColor and secondaryToolbarColor options. (#18586 by @janicduplessis)

💡 Others

11.0.0 — 2022-07-07

🎉 New features

  • Native module on Android is now written in Kotlin using the new API. (#17454 by @barthap)

🐛 Bug fixes

  • Fixed removeListener(): Method has been deprecated warning. (#17645 by @barthap)
  • Fixed service not registered exception on Android. (#17855 by @lukmccall)
  • Fixed redirectUrl auth session argument to be optional and thus match documentation. (#17953 by @barthap)
  • Fixed windowFeatures property not being properly recognized on web. (#18106 by @barthap)

💡 Others

  • Migrated Expo modules definitions to the new naming convention. (#17193 by @tsapeta)
  • Rewritten Android code to Kotlin. (#17195 by @barthap)

10.2.1 — 2022-05-24

🐛 Bug fixes

10.2.0 — 2022-04-18

🎉 New features

  • Native module on iOS is now written in Swift using the new API. (#16201 by @tsapeta)
  • Add presentationStyle option to customize browser window appearance on iOS. (#16919 by @barthap)
  • Add preferEphemeralSession option to openAuthSessionAsync to ask for a private auth session on iOS. (#16926 by @barthap)

⚠️ Notices

  • On Android bump compileSdkVersion to 31, targetSdkVersion to 31 and Java version to 11. (#16941 by @bbarthec)

10.1.1 - 2022-02-01

🐛 Bug fixes

  • Fix Plugin with id 'maven' not found build error from Android Gradle 7. (#16080 by @kudo)

10.1.0 — 2021-12-03

This version does not introduce any user-facing changes.

10.0.1 — 2021-10-01

This version does not introduce any user-facing changes.

10.0.0 — 2021-09-28

🛠 Breaking changes

🐛 Bug fixes

  • Fix building errors from use_frameworks! in Podfile. (#14523 by @kudo)

9.3.0 — 2021-09-09

🐛 Bug fixes

  • Fixed openAuthSessionAsync erroneously stating a browser was open when it had failed to open. (#14181 by @sumnerwarren)

💡 Others

  • Migrated from @unimodules/core to expo-modules-core. (#13757 by @tsapeta)

9.2.0 — 2021-06-16

🎉 New features

  • Added createTask (Android) flag for WebBrowser. (#12462 by @Ackuq)
  • Added custom types definitions for argument and result of maybeCompleteAuthSession method. (#13189 by @Simek)

🐛 Bug fixes

9.1.0 — 2021-03-10

🎉 New features

  • Updated Android build configuration to target Android 11 (added support for Android SDK 30). (#11647 by @bbarthec)

🐛 Bug fixes

  • Remove peerDependencies and unimodulePeerDependencies from Expo modules. (#11980 by @brentvatne)

9.0.0 — 2021-01-15

🛠 Breaking changes

🐛 Bug fixes

8.6.0 — 2020-11-17

This version does not introduce any user-facing changes.

8.5.0 — 2020-08-18

🐛 Bug fixes

  • Removed unncecessary Android dependencies. (#9538 by @barthap)
  • Fixed openAuthSessionAsync crashing when cancelled on iOS. (#9722 by @barthap)

8.4.0 — 2020-07-29

🎉 New features

🐛 Bug fixes

  • Fix native Android dependencies used in tests - Kotlin and testing libraries. (#8881 by @mczernek)

8.3.1 — 2020-05-29

This version does not introduce any user-facing changes.

8.3.0 — 2020-05-27

🎉 New features

  • Add readerMode and dismissButtonStyle (iOS) and enableDefaultShare (Android) flags for WebBrowser (#7221 by @LinusU) & @mczernek)

🐛 Bug fixes