Skip to main content

Platform Support

expo-face-check runs natively on both iOS and Android using platform-specific face detection frameworks.

iOS

RequirementValue
FrameworkApple Vision (VNDetectFaceRectanglesRequest)
Min iOS Version13.0+
Swift Version5.4+
ProcessingAsync on userInitiated dispatch queue

The Vision framework is built into iOS — no additional dependencies or downloads are required. Face detection works offline and does not send any data to Apple's servers.

iOS-specific behavior

  • Accepts both file:// URIs and plain file paths
  • Vision returns normalized coordinates (0–1 range, origin at bottom-left) which are automatically converted to pixel coordinates (origin at top-left) for you

Android

RequirementValue
FrameworkGoogle ML Kit Face Detection
ML Kit Versioncom.google.mlkit:face-detection:16.1.7
Min SDK VersionAPI 21 (Android 5.0)
Performance ModePERFORMANCE_MODE_ACCURATE

ML Kit's face detection model is bundled with the app — no runtime downloads needed. Detection runs entirely on-device.

Android-specific behavior

  • Accepts file://, content://, and plain file paths
  • Uses BitmapFactory for image loading
  • Bitmap is properly recycled after detection to prevent memory leaks
  • Face detector resources are closed after use

Expo Go

Not Supported

expo-face-check is a native module and cannot run in Expo Go. You must use a development build.

To create a development build:

npx expo prebuild --clean
npx expo run:ios # or npx expo run:android

Web

Web is not currently supported. Face detection requires native platform APIs (Vision on iOS, ML Kit on Android) that are not available in browser environments.