A simple Swift library for adding Apple Face ID and Touch ID authentication to iOS apps with comprehensive error handling.
BiometricAuthentication is a Swift library that enables iOS developers to integrate Apple's Face ID and Touch ID authentication into their apps with minimal code. It abstracts the complexities of biometric APIs, providing a simple interface that works across different device types and handles common authentication failures gracefully. The library solves the problem of implementing secure, user-friendly biometric authentication without dealing with low-level system details.
iOS developers building apps that require secure user authentication, particularly those targeting devices with Face ID or Touch ID support. It's ideal for developers who want to add biometric login features without deep expertise in Apple's LocalAuthentication framework.
Developers choose BiometricAuthentication because it reduces the boilerplate code needed for biometric integration, handles device-specific differences automatically, and provides comprehensive error handling out of the box. Its simple API and built-in support for passcode fallback make it more robust and easier to use than implementing biometric authentication from scratch.
Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single interface for both Face ID and Touch ID, automatically handling device-specific differences, as shown in the authenticateWithBioMetrics method that works across all supported devices.
Includes predefined error cases like biometryLockedout and fallback, simplifying failure management without needing to interpret Apple's LocalAuthentication errors manually.
Allows authentication via device passcode after multiple biometric failures, using authenticateWithPasscode method to enhance user experience without additional coding.
Supports setting allowableReuseDuration to auto-authenticate when the device was recently unlocked, reducing friction for users as demonstrated in the version 2.2 update.
Restricted to iOS devices with no support for macOS, watchOS, or cross-platform solutions, limiting its utility in multi-platform projects despite Apple's broader ecosystem.
Relies entirely on Apple's system authentication prompts, offering no options for customizing the look, feel, or branding of the biometric interface, which may not align with app design.
Requires developers to manually add NSFaceIDUsageDescription to info.plist for Face ID, a step that can be error-prone if overlooked and isn't automated by the library.