fix: add missing native permissions for biometric auth

iOS was missing NSFaceIDUsageDescription — Face ID prompts will
crash without it (required by Apple since iOS 11). Added with
user-facing reason string scoped to health data privacy.

Android was missing USE_BIOMETRIC and USE_FINGERPRINT permissions —
biometric_local_auth plugin requires both for API 28+/legacy compat.

The Flutter implementation was already complete:
- BiometricService (services/biometric_service.dart)
- AuthGate lock screen (core/auth_gate.dart)
- Settings toggle with policy control (features/settings/)
- Wired into main.dart

These permission declarations were the only missing pieces
blocking Face ID / fingerprint from working on device.
This commit is contained in:
Johan Jongsma 2026-03-23 12:23:42 -04:00
parent b4cbfa08f5
commit dd7a998661
2 changed files with 5 additions and 0 deletions

View File

@ -2,6 +2,9 @@
<!-- Permissions for voice input -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
<!-- Biometric authentication -->
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<application
android:label="inou_mobile"

View File

@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSFaceIDUsageDescription</key>
<string>inou uses Face ID to keep your medical data private and secure.</string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>