Realm 有一个很棒的 write up和 sample code用于加密您的数据库。本文档和示例按预期工作,直到您尝试在以下情况下解密 Realm :
发生这种情况是因为我们无法访问钥匙串(keychain)来获取(或创建)用于加密/解密 Realm 的 key 。默认的 kSecAttrAccessible
值为 kSecAttrAccessibleWhenUnlocked
在我看来,有几个选项:
kSecAttrAccessible
更改为 kSecAttrAccessibleAlways
。我不喜欢这个,因为它 a) 太开放 b) 它是 slated to be deprecated在 iOS 9 中kSecAttrAccessible
更改为 kSecAttrAccessibleAfterFirstUnlock
或 kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
。这更好,但对我来说仍然感觉太开放了,即使 docs state:推荐用于需要后台应用访问的项目kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly
我目前正在尝试确定 #2、#3 是否值得投入时间,或者我是否可以提出 #5
这里有没有我明显应该使用的方法或我错过的方法?
谢谢
我是 KeychainAccess 的作者图书馆。我强烈建议您使用 kSecAttrAccessibleAfterFirstUnlock
(第二个选项)。这是从后台访问钥匙串(keychain)项目的最佳方式。
关于ios - 在后台或通知进程中使用加密 Realm ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40332246/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |