问题标签 [sfhfkeychainutils]

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 投票
1 回答
579 浏览

iphone - 我可以通过 SDK 跨 iPhone 应用程序使用钥匙串吗?

我正在编写一个将作为静态库发布的 SDK。我可以访问钥匙串来存储数据,以便我可以在另一个也有我的库的应用程序中检索它吗?似乎苹果会对此不屑一顾,因为我没有签署应用程序,而只是应用程序代码中的乘客。

正在考虑使用“SFHFKeychainUtils”来帮助实现这一点。有什么想法吗?

0 投票
7 回答
14629 浏览

iphone - SFHFKeychainUtils。iOS 钥匙串。ARC兼容

我想知道是否有人使用 SFHFKeychainUtils 设法修改它们以与 ARC 兼容。更确切地说

我试过了

这两种方法是我设法没有出错的仅有的两种方法。通过在此处添加 objc_XXX 而不是 CFTypeRef 的任何其他方法都会出错(从 obj-c 指针到 CFTypeRef 的隐式转换在 ARC 中是不允许的,到将 x 参数传递给 y 参数会丢弃限定符)。显然,第一个代码片段也给出了错误。尽管在构建时我没有收到任何错误,但在到达这部分代码时,应用程序会因 EXC_BAD_ACCESS 而崩溃。

完整 SFHFKeychainUtils 的链接:https ://github.com/ldandersen/scifihifi-iphone/tree/master/security

请问有什么帮助吗?谢谢你。

0 投票
1 回答
931 浏览

iphone - SFHFKeychainUtils “忘记”了我的用户密码

我现在正在使用SFHFKeychainUtils一段时间。在我上次更新 AppStore 时,它​​突然“忘记”了我的用户密码。这意味着,当调用getPasswordForUsername相同的用户名和服务时,它现在不会返回结果。我不打印错误变量,所以我不知道它是否返回任何东西,我只知道它不返回密码/任何字符串。我尝试通过安装旧版本然后在其上安装新版本来重现我的设备/其他调试设备上的问题,但它没有发生!工作得很好。我知道这有点模糊,但我真的不明白它来自哪里,所以我无法提供更多信息。任何人都知道可能导致这种情况的原因吗?您在这方面有什么我可能会遗漏的最佳实践吗?或者只是关于如何调试此问题的提示?

非常感谢!

0 投票
1 回答
674 浏览

iphone - 如何从 SFHFKeychainUtils 中删除所有值?

要从钥匙串中删除值,可以使用以下代码:

有没有办法仅使用服务名称删除钥匙串中的所有存储值?

我的问题是我的关键价值本质上是动态的。XYZ当我第二次运行 App 时,我真的可能不知道价值。有一种情况,我必须删除known服务中存储的所有值。

如果我不知道,如何删除所有价值XYZ

0 投票
2 回答
12357 浏览

ios - iOS SFHFKeychainUtils *有时*失败,错误 -25308 errSecInteractionNotAllowed

我有这段代码从给定用户名 NSString 的钥匙串中取回密码:

大多数情况下,对于大多数用户来说,这一切都很好——但对于某些特定用户来说,这个调用似乎失败(并继续失败),它返回以下错误:

这显然是 errSecInteractionNotAllowed - 从我读过的内容来看,我认为这意味着要访问钥匙串需要某种用户交互。

有谁知道为什么这个调用可能只对某些特定用户失败?此钥匙串条目特定于我的应用程序 - 那么为什么需要任何用户交互才能访问它?

任何指针都非常感谢...

0 投票
3 回答
1859 浏览

ios - OCUnit 测试从命令行失败,但在使用钥匙串服务时在 Xcode 中工作

我正在使用 SFHFKeychainUtils 在我的应用程序中使用钥匙串服务。我编写了一些 OCUnit 测试来验证此代码的功能。当我在 iOS 模拟器或我的设备上从 Xcode 运行单元测试时,一切正常。但是现在我正在尝试设置一个 CI 服务器,并且当它通过命令行运行时测试失败,错误代码为 -25291。查看 Apple 的文档告诉我:没有可用的信任结果 (errSecNotAvailable)。我已将 Security.framework 链接到我的单元测试项目,从我在网上阅读的内容看来,这就是我需要让它工作的全部内容。这是我在控制台中调用的命令:

/usr/bin/xcodebuild -target [Test_Target] -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/ -configuration Debug

有没有人有任何经验或建议让单元测试和钥匙串服务从命令行很好地协同工作?

0 投票
1 回答
865 浏览

objective-c - 为什么 SFHFKeychainUtils 在 Cocoa 应用程序中因错误 errSecAuthFailed 而失败?

使用 SFHFKeychainUtils 的一些代码的调试构建在我正在开发的 mac 上正常工作,在另一台 mac 上触发错误:

该代码使用了 SFHFKeychainUtils 提供的以下方法:

使用 为用户名添加密码+[SFHFKeychainUtils storeUsername:andPassword:forServiceName:accessGroup:updateExisting:updateExisting:error:]。一段时间后,尝试使用 检索密码+[SFHFKeychainUtils getPasswordForUsername:andServiceName:accessGroup:error:]。但是,此方法返回错误;它的域是SFHFKeychainUtilsErrorDomain,它的代码是-25293(所以它是errSecAuthFailed)。仅当密码实际上存储在钥匙串中时(或至少在钥匙串访问中可见时)才会返回此错误。

为什么会这样?

0 投票
1 回答
1231 浏览

iphone - 如何使用 SFHFKeyChainUtils?

我已将凭据存储在 Login.m 类的 KeyChain 中

现在,当我从我的 iPhone 中删除我的应用程序并重新启动它时,如果用户之前登录过,我希望跳过登录屏幕并显示下一个屏幕。现在我的问题是,如何在 AppDelegate.m 类中做到这一点。我想访问当前用户的凭据,如果他们充满了数据,登录屏幕将被跳过。

我知道这是获取给定用户名的密码的方法,但问题是我无权访问 AppDelegate 类中的用户名。

有人能帮我吗?谢谢 :)

0 投票
1 回答
919 浏览

iphone - SFHFKeychainUtilsErrorDomain 错误 -2000

操作无法完成。(SFHFKeychainUtilsErrorDomain 错误 -2000。)(密码问题) MKStorekit 使用的 SFHFKeychainUtilsErrorDomain。

0 投票
1 回答
255 浏览

ios - iOS钥匙串:找不到值

我在具有旧版本项目的设备上的钥匙串中写了一些东西;然后,我想用新版本恢复它 - 但我没有得到任何价值。

我正在做同样的事情,我使用相同的配置文件,捆绑标识符......我的新项目版本没有获得价值的原因可能是什么?查询是完全相同的(使用 SFHFKeychainUtils):