iCloud 钥匙串在更新时通知

Posted

技术标签:

【中文标题】iCloud 钥匙串在更新时通知【英文标题】:iCloud Keychain notify on update 【发布时间】:2014-12-23 01:35:57 【问题描述】:

我正在使用 SSKeychain 实现的新 iCloud 钥匙串功能。我将kcQuery.synchronizationMode = SSKeychainQuerySynchronizationMode.Yes 设置为我的密码

iCloud 钥匙串现在可以使用了吗?它会同步到我的其他 iDevices 吗?

我的项目需要多长时间才能推送到 iCloud?

如果新密码到达我的设备,是否有通知我的方法?

谢谢!

【问题讨论】:

您找到解决方案了吗?要是能分享出来就好了 不。我在 bugreport.apple.com 上打开了一个问题,但它仍然打开,没有任何评论:( 与此同时,我找到了一个对我有用的解决方案。请参阅下面的答案 【参考方案1】:

我找到了解决方案并在另一个问题中回答。 SSKeychain: Accounts not stored in iCloud? - 见底部

iCloud 钥匙串现在可以使用了吗?它会同步到我的其他 iDevices 吗?

是的,如果启用了Settings > iCloud > Keychain

我的项目需要多长时间才能推送到 iCloud?

似乎是瞬间。

如果新密码到达我的设备,是否有通知我的方法?

没有。


不要使用 SSKeychain 的静态方法来编写您的凭据。而是使用SSKeychainQuery 并将同步模式设置为SSKeychainQuerySynchronizationModeYes 像这样

NSError *error; 
[SSKeychain setAccessibilityType:self.keychainAccessibilityType];
SSKeychainQuery *query = [[SSKeychainQuery alloc] init];
query.service = service;
query.account = account;
query.password = password;
query.synchronizationMode = SSKeychainQuerySynchronizationModeYes;
[query save:&error];
if (error) 
    NSLog(@"Error writing credentials %@", [error description]);

SSKeychain 上的静态便捷方法使用默认同步模式 SSKeychainQuerySynchronizationModeAny 导致凭据不与 iCloud 钥匙串同步。

此外,请确保您的设备已启用通过 iCloud 的钥匙串(设置>iCloud>钥匙串)。您可能还想在您的目标功能中启用Keychain Sharing

【讨论】:

这对@flashspys 有帮助吗?

以上是关于iCloud 钥匙串在更新时通知的主要内容,如果未能解决你的问题,请参考以下文章

苹果密码钥匙串在哪里

如何检测 iCloud 钥匙串的更改

iOS 钥匙串在设备之间共享数据

iOS 钥匙串服务与 iCloud 钥匙串不同吗?

kSecAttrSynchronizable 需要 iCloud 钥匙串吗?

iCloud 钥匙串不断丢失数据