我无法使用共享钥匙串(keychain)在 WatchKit 和 iPhone 应用程序之间共享数据。当我尝试在钥匙串(keychain)包装器中将 kSecAttrAccessible
用作 kSecAttrAccessibleAlways
时,SecItemUpdate
失败。请帮助我在钥匙串(keychain)包装器中正确使用 kSecAttrAccessible
。
最佳答案
您应该使用正确的无障碍模式:
默认钥匙串(keychain)模式 kSecAttrAccessibleWhenUnlocked
和 kSecAttrAccessibleWhenUnlockedThisDeviceOnly
不会让您的应用程序扩展在 iPhone 锁定时访问数据。
因此,在这种情况下,使用kSecAttrAccessibleAfterFirstUnlock
或kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
是合适的。这允许 WatchKit 扩展访问钥匙串(keychain),即使 iOS 应用程序在后台也是如此。
必须重新保存旧项目(使用 kSecAttrAccessibleWhenUnlocked
)(读取、删除、使用新的辅助模式保存)。
关于ios - 如何在 WatchKit 扩展和 iPhone 应用程序之间共享钥匙串(keychain)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30172321/