iOS: `NSFaceIDUsageDescription` missing for the biometric app lock

Open Beginner friendly
#1,851 1 comment 1 reaction 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
85/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
dart, flutter, ios
Domain
mobile

Research direction

The change belongs in ios/Runner/Info.plist, which currently lacks the NSFaceIDUsageDescription key. The biometric call path starts at LocalAuth.goWithResult() in lib/core/utils/app_auth.dart, which is useful for context but needs no edits. Done means the plist has the key with a user-facing reason string; a Face ID device check is ideal but not required to submit.

Written by the indexing model from the issue text.

Description

bug

Hi! Thanks for ServerBox.

While testing a config checker on popular Flutter apps, I noticed ios/Runner/Info.plist has
no NSFaceIDUsageDescription (and it isn't set via INFOPLIST_KEY_* in the Xcode project
either).

ServerBox offers a biometric app lock (useBioAuth → LocalAuth.goWithResult() in
lib/core/utils/app_auth.dart, which calls LocalAuthentication.authenticate in fl_lib).
local_auth's iOS README says: "To support Face ID on iOS devices, you must add an
NSFaceIDUsageDescription entry to your Info.plist file":
https://pub.dev/packages/local_auth_darwin#setup

Suggested fix (wording is up to you):

<key>NSFaceIDUsageDescription</key>
<string>ServerBox uses Face ID to unlock the app.</string>

I haven't tested on a Face ID device, so I can't say exactly how it fails without the key.
Happy to open a PR if that's easier.

Dominant language
Dart
Stars
8.9k
Forks
573
Avg merge
6h 53m
Merged PRs (30d)
133

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lollipopkit/flutter_server_box

All issues in lollipopkit/flutter_server_box

Similar issues

More Dart issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.