我对keychain的概念很模糊,只知道它用于iOS的密码管理。由于没有恰当的文档提供支持,所以我来向您寻求帮助。 有人能够解释一下getForKey()命令的目的吗?
这里有一个易于理解的例子。我着重介绍了Get函数,省略了set和remove回调--如果您理解了GetSuccess回调,它们是不需要的。
首先我们将一个名为coins的键设置为600,然后检索(get)该键,触发我们的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');
[...]
如果您有任何问题,请问。
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');
})();
kSecAttr
似乎是钥匙串属性的前缀,而不是属性本身,例如kSecAttrAccount
,kSecAttrService
等。 - sherb
getForKey()
似乎与 iOS 没有任何关系,您是否在使用苹果自己的 iOS SDK 之外的其他框架,例如 Phonegep? - rckoenes