在Snow Leopard下访问沙盒应用程序中的Keychain

时间:2012-02-24 14:02:23

标签: ios cocoa-touch macos cocoa keychain

我已成功使用SecItemAdd()SecItemCopyMatching()函数在iOS和OS X Lion(沙盒)中存储和检索Keychain信息。这些函数在iOS以来的iOS中以及OS X中的10.6(Snow Leopard),因此我发现我应该能够在Snow Leopard上使用相同的代码。

不幸的是,在Snow Leopard下,我无法使用SecItemCopyMatching()访问钥匙串项目中的加密数据(密码),只能看到用户名,地址等。我尝试使用特定于操作系统X的SecKeychainFindInternetPassword()函数检索钥匙串项目,并且它更具描述性,因为它会给我errSecAuthFailed (-25293)错误。

有趣的是,当关闭沙盒时,SecItemAdd() / SecItemCopyMatching()在Snow Leopard下运行良好。此外,SecKeychainAddInternetPassword() / SecKeychainFindInternetPassword()对在有和没有沙盒的情况下都能正常工作。但是,我真的希望能够在iOS和OS X中使用相同的代码,并且根据docs / API,它应该是可能的。

任何想法的人?

0 个答案:

没有答案