观看操作系统钥匙串共享

r4i*_*id4 5 xcode keychain ios swift watchkit

是否可以在WatchOS 4+中访问共享钥匙串?我已经为iOS应用程序设置了完全相同的“ 钥匙串共享”>“钥匙串组 ”(与MacOS应用程序完美同步),但是发现的只是一个空对象。

我正在使用此库(https://github.com/kishikawakatsumi/KeychainAccess),该库在iOS和上都非常有效MacOS,但不适用于WatchOS

我向Watch扩展共享了相关类的目标成员资格(我认为它可以正常工作,否则会抛出一个错误,该错误能够获取该方法左右),将pod像这样添加到watchOS

use_modular_headers!

def shared_pods
    pod 'KeychainAccess'
end

target 'Watch Extension' do
      platform :watchos, '4.0'
      shared_pods
end 
Run Code Online (Sandbox Code Playgroud)

我的问题是:我是否缺少某些配置?看起来它能够访问本地钥匙串,但无法与共享钥匙串同步。

谢谢

小智 2

我试图做同样的事情,它是一个很棒的吊舱,可以使钥匙链易于使用。然而,需要工作的部分是 iCloud 同步,因为它会像您想象的那样移动数据。

根据当前的Apple Docs ,在Storing Data Securely in the Keychain下的注释中

笔记

kSecAttrSynchronized 密钥在 watchOS 中不可用。

否则,WatchOS 将无法获取您存储在 iOS 端的钥匙串数据。所以你做的 Pod 是正确的,这是一个很好的 Pod,但 WatchOS 不希望我们这样做。

太长了;- 你现在不能这样做。