expo: [SDK 43 Beta] FaceDetector not working on ios

Summary

Hello, after upgrade to latest beta FaceDetector stopped working on ios, but everything is ok with android.

FaceDetector module not found. Make sure expo-face-detector is installed and linked correctly.

In package.json:

"expo-face-detector": "~11.0.2"

Managed or bare workflow? If you have ios/ or android/ directories in your project, the answer is bare!

managed

What platform(s) does this occur on?

iOS

SDK Version (managed workflow only)

43.0.0-beta.4

Environment

Expo CLI 4.12.1 environment info: System: OS: macOS 12.0 Shell: 5.8 - /bin/zsh Binaries: Node: 16.6.0 - /usr/local/bin/node npm: 7.19.1 - /usr/local/bin/npm Watchman: 2021.06.07.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.0. - /usr/local/bin/pod SDKs: iOS SDK: Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4 IDEs: Android Studio: 2020.3 AI-203.7717.56.2031.7784292 Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild npmPackages: expo: ~43.0.0-beta.4 => 43.0.0-beta.4 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.2 => 0.64.2 react-native-web: 0.17.1 => 0.17.1 npmGlobalPackages: expo-cli: 4.12.1 Expo Workflow: managed

Reproducible demo or steps to reproduce from a blank project

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 7
  • Comments: 28 (5 by maintainers)

Most upvoted comments

I’ve updated SDK 43. I found this issue.

FaceDetector module not found. Make sure expo-face-detector is installed and linked correctly.

@brentvatne @byCedric any more info we can all give you?

My little grain of sand…

On SDK43, iOS the values of the constants runClassifications and detectLandmarks are inverted. I you set, for example,

faceDetectorSettings: {
   runClassifications: FaceDetector.FaceDetectorClassifications.all,
   detectLandmarks: FaceDetector.FaceDetectorLandmarks.all
}

it will run no classifications and detect no landmarks. If you want to enable both you have to set:

faceDetectorSettings: {
   runClassifications: FaceDetector.FaceDetectorClassifications.none,
   detectLandmarks: FaceDetector.FaceDetectorLandmarks.none
}

It drove me crazy for almost a day!!!

Up to SDK42 it worked as documented.

Hope it helps! Alberto

In the library documentation it is explained that it does not work in the Expo Go application in simulations on IOS devices

You can create a development build to work with this package in IOS.

Captura de Tela 2023-07-10 às 00 26 10

https://docs.expo.dev/versions/latest/sdk/facedetector/

Expo team should please look into this issue. I upgraded to SDK 43 and having the same issue too. when you remove the Camera prop “onFaceDetected” the code runs fine. so I guess the issue is with that prop.

Support of expo-face-detector in Expo Go got removed in #22619.

Maintainers explain the reasoning behind this change here.