Cordova Keychain 插件和 SSKeychain 插件不能一起工作

Cordova Keychain Plugin and SSKeychain Plugin do not work together

我们在尝试使用钥匙串服务在两个应用程序之间共享信息时遇到困难。

我们有两个应用程序:

1.- CoreApp,它是原生的,使用这个插件SSKEYCHAIN设置值:

+ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account; 

在哪里为参数设置以下值:

password = aaa
serviceName = bbb
account = ccc

2.- SatelliteApp,它是混合 (cordova) 并使用此插件 KeychainPlugin 获取值:

kc.getForKey(successCallback, failureCallback, 'ccc', 'bbb');

failureCallback 被消息触发:

"Error retrieving vale for key ccc : (null)"

我们做了一些测试:

1.- 我们已经做了另一个本机应用程序来查询由 CoreApp 填充的钥匙串并且它运行良好。

2.- 我们做了另一个混合应用程序,它在钥匙串中设置值并且 SatelliteApp 成功查询它。

似乎我们没有在从其他应用程序检索值的同一容器中设置值。但是我们不知道如何将所有应用程序指向同一个地方。

有人知道会发生什么吗?任何提示、要做的测试或建议将不胜感激。

非常感谢。

我遇到了同样的问题。我的解决方案是通过 com.crypho.plugins.securestorage (http://plugins.cordova.io/#/package/com.crypho.plugins.securestorage).

更改 Cordova 中的插件

问题是 SSKeychain 插件有一个不同于 Cordova Keychain 插件的钥匙串访问组,所以在使用相同插件的应用程序之间工作正常,但当插件不同时就不起作用了。

com.crypho.plugins.securestorage 文档:在 iOS 上,秘密通过 SSKeychain 库直接存储在 KeyChain 中。