Features
- Force failure authentication if was added new fingerprint to device. This feature for security considerations.
 - Saving features list that's needs authentication via TouchID
 
Requirements
- iOS 9.0+ / macOS 10.12+
 - Xcode 8.1+
 - Swift 4.0+
 
Communication
- If you found a bug, open an issue.
 - If you have a feature request, open an issue.
 - If you want to contribute, submit a pull request.
 
Installation
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods 
To integrate BiometricAuth into your Xcode project using CocoaPods, specify it in your Podfile:
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
    pod 'BiometricAuth'
end 
Then, run the following command:
$ pod install 
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage 
To integrate BiometricAuth into your Xcode project using Carthage, specify it in your Cartfile:
github "vasilenkoigor/BiometricAuth"
 
Run carthage update to build the framework and drag the built BiometricAuth.framework into your Xcode project.
Usage
Intro
In security cosiderations strongly recommented enable forceThrowsOnChangedDomainState
let biometricAuth = BiometricAuth(forceThrowsOnChangedDomainState: true) 
Biometric authentication availability
do {
    try self.biometricAuth.isAvailable()
} catch let error as BiometricAuthError {
    print(error.localizedDescription)
} catch {
    print("Something went wrong")
} 
Feature enabled/disabled for biometric authentication
let feature = "Passcode Screen Auth"
do {
    try self.biometricAuth.enableAuthentication(forFeature: feature)
} catch let error as BiometricAuthError {
    print(error.localizedDescription)
} catch {
    print("Something went wrong")
} 
Authenticating
self.biometricAuth.requestAuthentication(forFeature: feature, reason: "Reason", completion: { (result, error) in
    if result {
        print("Success")
    }
}) 
License
BiometricAuth is released under the MIT license. See LICENSE for details.
