React Native 프로젝트 진행 중 얼굴인식 기능이 필요해서 react-native-camera:3.43.6을 설치했습니다.
IOS, Android 두 기종에서 얼굴의 위치정보를 얻어 얼굴 영역만 이미지로 얻어야 했습니다.
문제
얼굴 인식은 Firebase의 ML 데이터를 사용하는 것 같은데, 이게 여러 이슈를 발생시켰습니다.
RNCamera에 faceDetectionMode를 설정하면 ref.takePictureAsync() 함수를 호출했을 때 faces 정보가 함께 반환됩니다.
문제는 개발하던 중간부터 faces 정보가 반환되지 않았을 때였는데, IOS 쪽은 반환이 잘되는 상황이었습니다.
해결
ref.takePictureAsync 함수를 호출할 때 options 인자를 넘길 수 있었습니다. 당황스럽게도 Android는 Option을 넘기면 faces 정보를 반환하지 않았습니다.
물론 IOS와 Android의 옵션이 차이가 있는 점도 확인했고, 제가 설정했던 옵션은 공용 속성인 mirrorImage라 문제가 없을 줄 알았습니다.
- 내부의 TakePicutreOptions에서 확인할 수 있습니다.
결국 options을 Android에선 제외하는 방식으로 진행하게 되었습니다.