解释Keychain插件iOS(Cordova)

时间:2014-06-13 13:10:27

标签: ios cordova keychain

我对钥匙串有一个模糊的想法,它用于ios的密码管理。由于没有适当的文件,我来找你帮忙。 任何人都可以澄清getForKey()命令的目的吗?

2 个答案:

答案 0 :(得分:2)

在这里,您有一个易于理解的例子。我专注于Get函数并省略了set并删除了回调 - 如果您了解GetSuccess回调则不需要它们。

首先我们将一个名为硬币的密钥设置为 600 ,然后我们检索(获取)该密钥,触发我们的GetSuccess回调,传递值和应该发出警报。

// init
   var kc = new Keychain();
// Set key
    kc.setForKey(SetSuccess, failure, 'coins', 'servicename', '600');
// Get key
    kc.getForKey(GetSuccess, failure, 'coins', 'servicename');

// Get Success Callback
    function GetSuccess(value) {
            alert("GET SUCCESS - Coins Value: " + value);
        };

// Delete key
    kc.removeForKey(RemoveSuccess, failure, 'coins', 'servicename');

[...]

如果您有任何疑问,请询问。

答案 1 :(得分:1)

听起来你正在使用Shazron Abdullah的Keychain Plugin。如果是这样,API非常简单,但文档最初可能会有点混乱。 API依赖于异步回调,因此您需要相应地规划代码。

getForKey的参数是成功回调,失败回调,密钥名称和服务名称。我提供了我的应用程序的名称作为服务名称。

这是一个可以帮助您入门的小样本(假设已安装该插件):

(function(){
    // Create a new keychain object...
    var keychain = new window.Keychain();

    // Assign the value 'mysecret' to 'mykey'...
    keychain.setForKey(function() {
        console.log('key set succeeded');
        // Retrieve the value for 'mykey' and output to the console...
        keychain.getForKey(function(value) {
            console.log('key get, value = ' + value);
        }, function() {
            console.log('key get failed');
        }, 'mykey', 'myservice');
    }, function() {
        console.log('key set failed');
    }, 'mykey', 'myservice', 'mysecret');
})();

如果你的应用程序有插件并且在iOS模拟器上运行,你可以打开Safari的调试窗口并粘贴这段代码以进行快速演示。