使用TouchId获取null Ti。对象

时间:2016-12-09 13:24:33

标签: titanium appcelerator touch-id

我正在尝试将TouchId应用到我的应用中,但我遇到了一些问题。

以下是我正在使用的功能,直接来自文档:

function SignInTouchID(){
TiTouchId.authenticate({
    reason: 'We need your fingerprint to sign in.',
    callback: function(e) {
        if (!e.success) {
            //alert('Message: ' + e.error + '\nCode: ' + e.code);
            switch(e.code) {
                case TiTouchId.ERROR_AUTHENTICATION_FAILED: Ti.API.info('Error code is TiTouchId.ERROR_AUTHENTICATION_FAILED'); break;
                case TiTouchId.ERROR_USER_CANCEL: Ti.API.info('Error code is TiTouchId.ERROR_USER_CANCEL'); break;
                case TiTouchId.ERROR_USER_FALLBACK: Ti.API.info('Error code is TiTouchId.ERROR_USER_FALLBACK'); break;
                case TiTouchId.ERROR_SYSTEM_CANCEL: Ti.API.info('Error code is TiTouchId.ERROR_SYSTEM_CANCEL'); break;
                case TiTouchId.ERROR_PASSCODE_NOT_SET: Ti.API.info('Error code is TiTouchId.ERROR_PASSCODE_NOT_SET'); break;
                case TiTouchId.ERROR_TOUCH_ID_NOT_AVAILABLE: Ti.API.info('Error code is TiTouchId.ERROR_TOUCH_ID_NOT_AVAILABLE'); break;
                case TiTouchId.ERROR_TOUCH_ID_NOT_ENROLLED: Ti.API.info('Error code is TiTouchId.ERROR_TOUCH_ID_NOT_ENROLLED'); break;
                default: Ti.API.info('Error code is unknown'); break;
            }
        } else {    
            //alert(Ti.Platform.osname);
            //SignIn(true);
            var xhr = Ti.Network.createHTTPClient();
            xhr.timeout = 30000;
        }
    }
});

}

用户单击调用SignInTouchID的登录按钮。我得到指纹提示,但是一旦它运行回调并执行xhr代码(为简洁而插入),我得到以下错误:

enter image description here

它几乎就像失去了Ti背景。如果我删除TouchId代码,我没有这些问题。不确定我做错了什么,任何帮助都将不胜感激!

TiSDK:5.5.1 GA iPhone 6 v10.1.1 Appcelerator Studio,版本:4.8.0.201610171310 (c)Appcelerator,Inc。版权所有2012-2016。保留所有权利。

构建:jenkins-appcelerator-rcp-release-595(origin / release) 日期:2016年10月17日,13:11:46

1 个答案:

答案 0 :(得分:0)

将代码重写为:

var xhr = Ti.Network.createHTTPClient({
    timeout: 30000
});