Skip to content

[local_auth] IOS will not return any error if locked by the system #103380

@zystudios

Description

@zystudios

Steps to Reproduce

  1. local_auth 2.0.1, On an IOS real device, if the touch ID has too many errors, it will be locked by the system. At this time, calling the auth.authenticate method will not return anything result, but the debug console will display
    SecItemDelete status = -25300

Expected results:

Hope to be able to return specific errors, such as PermanentlyLockedOut, which can be returned on Android, but IOS not

Actual results:

IOS14 didn't return any errors, and use try catch couldn't catch it

Code sample
 authenticated = await auth.authenticate(
        localizedReason: "${title}",
        options: const AuthenticationOptions(
          sensitiveTransaction: false,
          useErrorDialogs: false,
          stickyAuth: false,
          biometricOnly: true,
        ),
      );
[✓] Flutter (Channel stable, 2.10.5, on macOS 12.0 21A344 darwin-arm)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.67.0)
[✓] Connected device (5 available)
[✓] HTTP Host Availability

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listfound in release: 2.10Found to occur in 2.10found in release: 2.13Found to occur in 2.13has reproducible stepsThe issue has been confirmed reproducible and is ready to work onp: local_authPlugin for local authentificationpackageflutter/packages repository. See also p: labels.platform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions