본문으로 건너뛰기

앱 잠금

생체 인증(실패하면 기기 암호)으로 앱을 연다. 못 쓰는 기기는 잠그지 않고, 기기에 맞는 이름(Face ID · 지문)을 쓰며, 취소와 실패를 가른 문구를 내고, 백그라운드 유예가 지나면 다시 잠근다. expo-local-authentication 은 소비 앱이 넣는다

npm install @duolabs-deux/unit-app-lock

직접 넣어 보기

기기
센서
다음 답
다시 잠그기

어댑터

id종류설명
expo실제소비 앱이 expo-local-authentication 을 주입한다(createExpoLocalAuthEngine). 유닛은 expo 를 의존하지 않는다. iOS 는 NSFaceIDUsageDescription 이 있어야 한다
fake가짜기기 없이 결정적으로 답한다. answers 를 앞에서부터 쓴다(success · user_cancel · lockout …). hardware · enrolled 로 못 쓰는 기기를 재현한다

실패와 소비 앱이 할 일

종류언제할 일
unexpected엔진이 예외를 던졌을 때(네이티브 모듈이 빠진 빌드 · 시뮬레이터의 이상 동작)잠금 화면에 「다시 시도」를 두고, 반복되면 잠금을 끌 수 있는 길을 남긴다

한도

  • 취소 · 실패 · 시도 초과는 오류가 아니라 결과(UnlockOutcome)다. 화면 문구를 같이 준다
  • 생체 인증이 없거나 등록되지 않은 기기는 skipped 로 열어 준다. 설정의 잠금 스위치는 availability 로 막는다
  • 웹 · 데스크톱은 대상이 아니다(platform 은 ios · android)

명세