问题标签 [keychainitemwrapper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2502 浏览

ios - KeychainWrapperItem 在 iOS 7.1 中停止工作

我最近安装了 iOS 7.1 模拟器和新的 Xcode 5.1。我的应用程序在 iOS 7 中运行良好。我正在使用 Apple 的 KeychainItemWrapper 类。更新后它崩溃并显示以下消息:

特别是在第 299 行:

听到错误 -25300 ( errSecItemNotFound )

我在我的权利文件中指定了钥匙串访问组。此错误仅发生在 iOS 7.1 模拟器中,而不发生在发生在真正的 iPhone 或 7.0 模拟器中。

有谁知道 Keychain 在 7.1 中发生了什么变化?

0 投票
2 回答
1096 浏览

ios - 在后台获取运行时来自 NSData 的 NSString 崩溃

我有这种方法可以检查我们是否在钥匙串中存储了用户名和密码:

密码被返回,NSData因此需要转换为字符串。这在正常使用中工作得非常好,但是当它在后台application:performFetchWithCompletionHandler:方法中使用时,我有时会遇到指向此行的崩溃:

崩溃日志抱怨

我只在分发 AdHoc 构建后才看到这些崩溃。我假设崩溃日志说此时该passData变量实际上是一个字符串?有什么想法吗?

谢谢

编辑 - -

[self.keychainItem setObject:password forKey:(__bridge id)kSecValueData]; password只需使用NSString即可将密码添加到钥匙串中。我从这里使用 KeychainItemWrapper将密码 NSString 转换为 NSData 但不会再次将其转换回来,这就是我这样做的原因。

编辑 2 ----

在调试崩溃后,我检查了你的 passData 变量,实际上应该是 NSData 的 NSString,所以有时我会得到 NSData,而且我时不时会得到 NSString。

0 投票
1 回答
2748 浏览

ios - 钥匙串可以像类固醇上的 NSUserDefaults 一样用于存储 NSData 吗?

钥匙串可以像NSUserDefaults类固醇一样使用吗?我的意思是,例如,存储NSData在游戏中使用?

我的意图是存储一个NSData元素,该元素本质上是数组或字典的表示形式。

所以问题是:

假设我使用 Apple 的KeychainItemWrapper类创建了一个包装器。这是kSecValueData在钥匙串文档中提到的NSData对象吗?

如果是这样,我可以做到这一点,对吧?

NSData第二个问题:如果是这种情况,钥匙串项目可以存储的大小是否有限制?

0 投票
2 回答
1850 浏览

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

我有一堆应用程序使用相同的钥匙串组来共享一些敏感数据。在同一设备上测试应用程序时效果很好,它们可以访问和编辑共享数据。我想知道是否可以在 iDevices 之间共享数据,我的 iPad (iOS 7) 和 iPhone (iOS 6) 似乎将它们分开存储(它是本地的吗?),我认为它被安全地存储在 Apple 的服务器中,因为它被称为 iCloud钥匙链。

我使用RayWenderlich 教程中的KeychainWrapper类,稍作修改以获得唯一的钥匙串访问组。

是否可以使用 Keychain 在设备和应用程序之间同时共享数据?如果是这样我应该如何实施它?

0 投票
1 回答
472 浏览

ios - AppStore 更新后 STKeychain 无法找回密码

设想:

  • 我们的应用程序将后端令牌存储在设备的钥匙串(STKeychain,ex SFHFKeychainUtils)中。
  • 后台提取被禁用。
  • 最近发布了一个升级。

我们收到有关用户必须重新登录的报告。这似乎是 STKeychain 令牌检索期间的一个问题(存储的密码被检索为 nil)。

STKeychain(或iOS钥匙串本身)中是否有任何已知的错误会导致此类问题?

在此先感谢,任何线索都将受到欢迎!

0 投票
1 回答
632 浏览

keychain - GenericKeyChain KeychainItemWrapper.m 复制到另一个项目时无法编译

我编译并运行 Apple 的 GenericKeyChain 示例代码。那里没有问题。现在我想在我的新项目中同时使用 KeychainItemWrapper.m 和 KeychainItemWrapper.h 这两个文件,我得到了很多编译错误。我看到 Apple 的示例代码正在使用 ARC。此处的其他帖子指示人们为此文件禁用 ARC。那没有用。我在我的新项目中链接了安全框架。我的问题是我应该怎么做才能在我的新项目上成功编译这两个文件。为什么 Apple 示例代码编译没有问题。编译错误主要是 ARC Casting Rules 和 ARC 限制以及使用“release”的语义问题。

0 投票
1 回答
156 浏览

ios - 从 KeychainItem 检索值

我尝试从 KeyChainItem 中检索一个字符串,该字符串存储如下:

当我如下检索它时:

我收到了 NSLog(@"%@",token); 的以下值

如何检索我保存的字符串?我在这里做错什么了吗?

0 投票
2 回答
1774 浏览

ios - iPhone内存压力导致iOS钥匙串数据丢失?

我正在通过 iPhone 5s 上的调试器运行 iOS 应用程序。我正在使用钥匙串来存储密码(我正在使用 Apple 的 KeychainItemWrapper 示例来存储和检索我的钥匙串项目)。大约 99.99% 的时间,钥匙串检索工作完美。但是,有两种情况我的应用程序无法获取密码。例如,有一次,我的手机出现内存压力,我不得不重启手机并重新启动应用程序。应用程序重新启动后,我的应用程序无法再从钥匙串中检索密码。请问这个密码丢失是不是这个内存压力造成的?iOS 还会清除哪些其他情况下的钥匙串数据?有没有办法介绍这个??

0 投票
1 回答
743 浏览

ios - iOS在钥匙串中保存物理应用收据?

我想将物理应用内购买收据存储在钥匙串中,从而允许在用户跨设备设置钥匙串时在设备之间复制它。

我的问题是如何将收据(NSData)保存到钥匙串?

最终,我想保存收据本身以及一个字符串,其中包含一个字符串以显示适用的 IAP 级别,也许还有一个到期日期。

任何帮助将不胜感激。

0 投票
1 回答
1268 浏览

ios - iOS 将数据存储在钥匙串中以供跨设备使用

我正在尝试将数据写入 iCloud 钥匙串并让它在使用相同 Apple ID 的设备之间复制。

如果我安装一个应用程序并调用以下代码,写一个条目,然后读取,我会看到正在读回的数据以登录当前设备。

但是,如果我在使用相同 Apple ID 的另一台设备上安装相同的代码并打开 iCloud/钥匙串,如果我尝试从该设备上的钥匙串读取数据,我将看不到数据。

我曾尝试在功能中启用 icloud 和钥匙串共享,但无济于事。

有人可以指出我正确的方向吗?