2017-02-17 13 views
0

イオン2でTouchIDをテストしようとしていますが、機能していません。TouchIDのisAvailable()メソッドが存在しません! (イオン2)

export class HomePage { 

    private touchIdAvailable: boolean; 

    constructor(public _navCtrl: NavController, private _platform: Platform) { 
    this._platform.ready().then(() => { 
     TouchID.isAvailable().then(
     res => alert('ok'), 
     err => alert('not ok') 
    ); 

     this.touchIdAvailable = true; 
    }) 
    } 


    private startTouchID() { 
    TouchID.verifyFingerprint('Fingerprints are Awesome') 
     .then(
     res => alert('Pass'), 
     err => alert('Not Pass') 
    ); 
    } 
} 

このコードは機能しません。だから私がコードのこの部分をコメントすればうまくいく!

this._platform.ready().then(() => { 
     //TouchID.isAvailable().then(
     // res => alert('tem'), 
     // err => alert('nao tem') 
     //); 

     this.touchIdAvailable = true; 
    }) 

私はエラーを取得する:Proprety 'isAvaliable()は、' 私が見つけた 'typeof演算TouchID'

+0

import {TouchID} from 'ionic-native'; //これを使用してインポートするhttp://stackoverflow.com/questions/41149395/using-touchid-on-ionic-2 –

+0

@SandeepSharma、私はすでにこれを行っています。これは、コードの2番目の部分(startTouchID())が機能している理由です。 TouchID.isAvailable()のみが機能しません。 –

答えて

0

に存在しません。ライン46上の/node_modules/ionic-native/dist/plugins/touchid.d.tsで

私が変更します。これで

isAvailable(): Promise<any>; 

static isAvailable(): Promise<any>; 
0

あなたがする必要はありませんnode_modules/ionic-native/dist/plugins/touchid.d.ts

コンストラクタでTouchIdインスタンスを初期化するだけです。

constructor(
    private touchId: TouchID 
) { 
    this.platform.ready().then(() => { 
     this.touchId.isAvailable().then(
     res => this.touchIdAvailable = true, 
     err => this.touchIdAvailable = false 
    );   
    }) 
    } 
関連する問題