
Security News
How Enterprise Security Is Adapting to AI-Accelerated Threats
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.
expo-camera-interface
Advanced tools
expo-camera interface package.
This package is pre-installed in managed Expo projects. You may skip the rest of the installation guide if this applies to you.
For bare React Native projects, you must ensure that you have installed and configured the @unimodules/core package before continuing.
npm install expo-camera-interface
Add the dependency to your Podfile and then run pod install.
pod 'EXCameraInterface', path: '../node_modules/expo-camera-interface/ios'
android/settings.gradle:include ':expo-camera-interface'
project(':expo-camera-interface').projectDir = new File(rootProject.projectDir, '../node_modules/expo-camera-interface/android')
android/app/build.gradle:api project(':expo-camera-interface')
Contributions are very welcome! Please refer to guidelines described in the contributing guide.
53.0.0 — 2025-04-30
@shopify/flash-list from 1.7.1 to 1.7.6. (#34635 by @chrfalch, #35699 by @jakex7)react-native-screens from 4.9.0 to 4.9.2. (#35702 by @jakex7)react-native-web from ~0.19.13 to ~0.20.0. (#35891 by @brentvatne)expo-sqlite
expo-notifications
DateTriggerInput to only accept an object (#33551 by @vonovak)UNNotificationPresentationOptions, deprecate shouldShowAlert (#36361 by @vonovak)expo-modules-core
expo-local-authentication
expo-keep-awake
expo-file-system
expo-gl
expo-font
expo-crypto
expo-constants
expo-asset
expo-web-browser
expo-sharing
expo-sqlite
expo-secure-store
expo-print
expo-notifications
expo-modules-core
long values in arrays and maps (#35446 by @vonovak)UnwrappedChildren for nested SwiftUI views. (#34954 by @andrew-levy)SharedObjects from a Promise. (#34655 by @alanjhughes)expo-media-library
expo-mail-composer
expo-linking
expo-intent-launcher
openApplication to open an application by its package name. (#25468 by @reichhartd)getApplicationIconAsync to retrieve the icon of an application by its package name. (#25468 by @reichhartd)expo-localization
expo-image-picker
expo-haptics
performAndroidHapticsAsync(). The Vibrator api is no longer recommended. This method avoids it. (#34077 by @alanjhughes)expo-file-system
expo-document-picker
com.apple.developer.ubiquity-kvstore-identifier entitlement directly. (#34338 by @keith-kurak)expo-font
react-server environment. (#34736 by @EvanBacon)expo-contacts
presentAccessPickerAsync function that presents the iOS 18.0+ picker for limited contacts access. (#33771 by @tsapeta)ContactAccessButton from SwiftUI. (#33782 by @tsapeta)limited permission status from granted. (#35772 by @clarkg)expo-calendar
getRemindersAsync (#33264 by @TomAtterton)expo-camera
videoBitrate prop to allow setting the bitrate used when recording a video. (#33087 by @alanjhughes)Google Code Scanner, similar to the DataScannerViewController used on iOS. (#33347 by @alanjhughes)expo-asset
expo-apple-authentication
formatFullName method to format tokenized full name object into a local-aware string representation (#32567 by @Armster15)expo-web-browser
openBrowserAsync doesn't surface exceptions. (#36182 by @lukmccall)expo-video-thumbnails
expo-task-manager
expo-store-review
expo-sqlite
exports in the package.json. (#32780 by @alanjhughes)sqlite3_next_stmt and prevented uncaught statements from leaking. #34992 by @Bowlerr)expo-sqlite/kv-store async API not being well handled when using AsyncStorage compatible api (#33847 by @rtorrente)database is locked error from parallel kv-store operations. (#33834 by @kudo)database is locked error while using kv-store multiGet function. (#33873 by @rtorrente)syncLibSQL return type. (#35804 by @kudo)libc++_shared.so on Android. (#35298 by @kudo)expo-sensors
getPermissionsAsync and requestPermissionsAsync implementations to native DeviceMotion modules. (#33719 by @ratley)getOrientation when the currentActivity is not available. (#36369 by @alanjhughes)expo-screen-orientation
expo-network
Android, Prevent crash from the networkCallback calling fetchNetworkState. (#33563 by @alanjhughes)netInfo null check. (#33559) by @pchalupa (#33559 by @pchalupa)expo-notifications
ChannelAwareTrigger (#33354 by @alextoudic)getExpoPushTokenAsync (#33359 by @bradjones1)NotificationContent not containing JSON data object (#35942 by @vonovak)CalendarTriggerRecord (#35937 by @vonovak)presentNotificationAsync (#35900 by @vonovak)null trigger on iOS (#35672 by @vonovak)useLastNotificationResponse return value behavior (#35504 by @vonovak)EXNotifications-Swift.h import. (#34987 by @lukmccall)addTokenListener until OnCreate. (#36052 by @alanjhughes)NotificationContent.data in NotificationHandler (#36195 by @vonovak)expo-modules-core
@DoNotStrip annotation to new Either types. (#32783 by @alanjhughes)expo/fetch being stuck on iOS. (#32894 by @kudo)ByteArray from the Kotlin module results in string ID instead of Uint8Array. (#32945 by @lukmccall)ts-jest. (#32954 by @kudo)process type error when including @types/node. (#33155 by @kudo)EventEmitter constructor. (#33294 by @tsapeta)uuid.v4anduuid.v5 is available on old react native architecture. (#33621 by @andrejpavlovic)import to import type for TS type declarations. (#33447 by @j-piasecki)AppContext is lost in nested converters. (#34373 by @lukmccall)kotlinx.coroutines.CancellableContinuationImpl.alreadyResumedError error on Android. (#35114 by @kudo)AsyncFunction not working in the initial render of a View. (#35176 by @behenate)ConcurrentModificationException being thrown by JNIDeallocator.deallocate during the app reload. (#35322 by @lukmccall)UnwrappedChildren not get the unwrapped content view for SwiftUI integration. (#36112 by @kudo)expo-media-library
ph:// and assets-library:// scheme for New Architecture. (#30116) by @coolsoftwaretyler (#33097 by @coolsoftwaretyler) (#33097 by @coolsoftwaretyler, @coolsoftwaretyler)unknown file type being returned for video files. (#33589 by @behenate)medialibraryassetschangeevent listener not capturing assets changes. (#36459 by @aleqsio)expo-location
Landroid/support/v4/app/ActivityCompat;. (#33088 by @kudo)resolveUserSettingsForRequest. (#34784 by @alanjhughes)startLocationUpdatesAsync should not require background permissions (#33617 by @andrejpavlovicexpo-mail-composer
expo-linking
addEventListener and useURL hook. (#33076 by @gabrieldonadel)expo-linear-gradient
PlatformColor and add corresponding types (#34214 by @dlindenkreuz)expo-localization
expo-image-manipulator
export to export type for TS type declarations. (#33446 by @j-piasecki)saveAsync not respecting the format and compression quality. (#33690 by @tsapeta)expo-image-picker
getPendingResultAsync incorrect return type (#35791 by @sorenfrederiksen)expo-file-system
expo-gl
expo-device
expo-document-picker
expo-font
expo-contacts
updateContactAsync. (#34186 by @freeboub) (#34186 by @34186) (#34186, #34186 by @34186, @34186)the native view manager required by name (ExpoContactAccessButton) from NativeViewManagerAdapter isn't exported warning. (#33993 by @lukmccall)expo-constants
expo-blur
expo-calendar
organizer and document it. (#34052 by @alanjhughes)Event.location type to allow a null value if not set. (#33802 by @rklompdayOfTheWeek as undefined. (#36482 by @ouwargui)expo-camera
hevc codec have jpeg set in the photoSettings. (#33186 by @alanjhughes)zoom on Android and adjust the magnitude on iOS. (#33319 by @alanjhughes)videoQuality prop. (#34082 by @alanjhughes)react-native-screens. (#34721 by @alanjhughes)setLinearZoom incompatability with some devices. (#34757 by @alanjhughes)expo-background-fetch
expo-asset
expo-auth-session
clientId not being asserted properly if it's undefined in providers/Facebook, like it is for providers/Googleexpo-apple-authentication
formatFullName not specifying a return type. (#33068 by @alanjhughes)unimodules-app-loader
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-web-browser
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)--https flag. (#36083 by @EvanBacon)expo-video-thumbnails
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-task-manager
executeTask method in TaskManagerUtils (#32849 by @chrfalch)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-store-review
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-speech
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-sharing
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-sqlite
SQLite3Wrapper code for legacy implementation on Android. (#33565 by @kudo)kv-store operations. (#33874 by @rtorrente)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-secure-store
expo-sms
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-screen-capture
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-module.config.json. (#35003 by @reichhartd)expo-sensors
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-screen-orientation
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-module.config.json. (#35003 by @reichhartd)expo-print
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-network
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-notifications
nextTriggerDate in TimeIntervalTrigger (#35559 by @vonovak)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)removePushTokenSubscription and removeNotificationSubscription (#36371 by @vonovak)expo-modules-core
executeTask method to TaskManagerUtilsInterface (#32849 by @chrfalch)findNodeHandle with a native ref instead of a class component instance to avoid expensive calls to findCurrentFiberUsingSlowPath. (#33016 by @tsapeta)ReactNativeFeatureFlags compat to fix React Native 0.77 breaking changes. (#33077 by @kudo)applyKspJvmToolchain() gradle helper to enforce JVM Toolchain version for KSP. (#33148 by @kudo)process.env types. (#34112 by @kudo)overflow: hidden applied to each view by default. (#33261 by @lukmccall)UnimplementedExpoView in place of SwiftUI views when the New Architecture is not enabled. (#33901 by @tsapeta)BarCodeScannerInterface. (#34966 by @alanjhughes)RCTReactNativeFactory integration. (#35679 by @kudo)compileOnly to depend on the expo-modules-core when applying default dependencies. (#35822 by @lukmccall)UIView from SwiftUI integration. (#35553 by @kudo)AppLoaderProvider to kotlin. (#36035 by @alanjhughes)collapsable={false} when hosting a UIView in SwiftUI views. (#36153 by @kudo)2.0.0. (#36323 by @lukmccall)Jetpack Compose integration if not needed. (#36353 by @lukmccall)Children return type for SwiftUI integration. (#36377 by @kudo)expo-media-library
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)preventAutomaticLimitedAccessAlert option to config plugin. (#35515 by @fobos531)expo-location
smart-location-lib. (#33609 by @alanjhughes)expo-local-authentication
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-mail-composer
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-linking
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-linear-gradient
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-intent-launcher
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-image-loader
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-localization
expo-image-manipulator
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-image-picker
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-keep-awake
expo-haptics
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-file-system
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)web-streams-polyfill in favor of expo support. (#36407 by @EvanBacon)expo-gl
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-device
expo-document-picker
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-font
expo-crypto
expo-clipboard
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-contacts
updateContactAsync method (#34488 by @chrfalch)src folder as the Metro target. (#33781 by @tsapeta)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)WithHostingView. (#35553 by @kudo)expo-constants
expo-cellular
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-blur
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-calendar
EventRecurrenceUtils unit tests. (#33863 by @mateoguzmana)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-battery
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-brightness
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-camera
cameraview-aar dependency. (#32853 by @alanjhughes)expo-gl integration. (#33027 by @alanjhughes)Android, parse the pictureSize prop safely to prevent invalid values causing exceptions. (#33566 by @alanjhughes)expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)children in the CameraView. (#34969 by @alanjhughes)forwardRef from Camera component. (#36320 by @alanjhughes)expo-background-fetch
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-av
expo-asset
expo-asset/tools/hashAssetFiles in favor of built-in hashing support in expo/metro-config. (#34208 by @EvanBacon)invariant and md5-file dependencies. (#35328 by @kitten)file:///android_res/ format support. (#36058 by @kudo)expo-application
expo-auth-session
expo-apple-authentication
expo-module.config.json to unified platform syntax. (#34445 by @reichhartd)expo-sqlite
expo-notifications
expo-modules-core
FAQs
expo-camera interface package.
The npm package expo-camera-interface receives a total of 1,764 weekly downloads. As such, expo-camera-interface popularity was classified as popular.
We found that expo-camera-interface demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 18 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.