앱 잠금
생체 인증(실패하면 기기 암호)으로 앱을 연다. 못 쓰는 기기는 잠그지 않고, 기기에 맞는 이름(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)