【问题标题】:Using TouchId get null Ti. objects使用 Touch Id 获取 null To。对象
【发布时间】:2016-12-09 13:24:33
【问题描述】:

我正在尝试在我的应用中实现 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 代码(为简洁起见插入),我会收到以下错误:

它几乎就像失去了 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(来源/发布) 日期:2016 年 10 月 17 日 13:11:46

【问题讨论】:

    标签: titanium appcelerator touch-id


    【解决方案1】:

    将您的代码重写为:

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

    【讨论】:

    • 这可能会解决此特定代码行的问题,但问题远不止于此。由于某种原因,使用 TouchId 时 xhr 对象为空,不知道为什么会这样。
    猜你喜欢
    • 2018-12-18
    • 2010-09-27
    • 2019-04-11
    • 2012-09-18
    • 2013-10-02
    • 1970-01-01
    • 2012-08-22
    • 2022-07-13
    • 2021-11-03
    相关资源
    最近更新 更多