iPhone 5S发布以后,iOS设备基本都有集成Touch ID,而这个功能对自己的App也是一个很好的扩展,关于Touch ID的用法,大致如下,
Swift:
import LocalAuthentication
var myContext = LAContext()
var error: NSError?
var localizedReasonString = "认证提示信息"
if myContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &error) {
//第三个参数为闭包
myContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: localizedReasonString, reply: {
(success: Bool, error: NSError!) in
if success {
//认证成功
} else {
//认证失败,错误原因在error中
}
})
} else {
//不能够进行认证,错误信息在error中
}
Objective-C写法
LAContext *myContext = [[LAContext alloc] init];
NSError *authError = nil;
NSString *myLocalizedReasonString = "认证提示信息";
if ([myContext canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics error: &authError]) {
[myContext evaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason: myLocalizedReasonString reply: ^(BOOL success, NSError *error) {
if (success) {
//认证成功
} else {
//认证失败,error里包含错误信息
}
}]
} else {
//不能进行认证, authError中包含错误信息
}