在Ionic 2上使用TouchID

时间:2016-12-14 18:17:01

标签: ionic-framework ionic2

我正在尝试在我的Ionic 2应用程序中使用TouchID并拥有此简化代码。

当我在iPhone上运行应用程序时,我看到控制台中记录了“A”,然后“指纹或设备密码已经过验证。”但是“B”未被记录。我错过了什么?

checkIn(job) {
    console.log("A");
    TouchID.verifyFingerprint('Scan your fingerprint to check in')
    .then(
      res => function() {  
        console.log("B");
      },
      err => alert('Sorry, your fingerprint is not recognised')
    );  

} 

1 个答案:

答案 0 :(得分:3)

我假设您已使用

将Touch ID插件导入项目中
import { TouchID } from 'ionic-native';

在CheckIn功能中,首先使用

检查Touch ID可用性
TouchID.isAvailable()
.then(
  res => console.log('TouchID is available!'),
  err => console.error('TouchID is not available', err)
);

如果记录'TouchID可用!'然后在你的TouchID.verifyFingerprint函数log err中查明问题

TouchID.verifyFingerprint('Scan your fingerprint please')
.then(
  res => console.log('Ok', res),
  err => console.error('Error', err)
);

错误代码

该插件会因各种原因而拒绝。您的应用很可能需要以不同的方式回应这些案例。

以下是一些错误代码的列表:

  • -1 - 指纹扫描失败超过3次
  • -2或-128 - 用户点击了“取消”按钮
  • -3 - 用户点击了“输入密码”或“输入密码”按钮
  • -4 - 系统取消了扫描(例如,主页按钮)
  • -6 - TouchID不可用
  • -8 - TouchID因太多尝试而被锁定