gpt4 book ai didi

iphone - iOS KeychainItemWrapper 中的内存泄漏

转载 作者:可可西里 更新时间:2023-11-01 04:27:59 26 4
gpt4 key购买 nike

我正在使用 Apple 示例代码中的 KeyChainItemWrapper 来存储用户密码以进行身份​​验证,但是当我调用它来设置密码时:

   [keychain setObject:passwordField.text forKey:(id)kSecValueData];

它让我的衬衫到处都是内存泄漏。这个问题显然可以追溯到 KeyChainItemWrapper.m 中的第 274 行,它是这样的:

if (SecItemCopyMatching((CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes) == noErr)
{

我该如何解决这个问题,以后在使用 Apple 示例代码时是否应该更加小心?

注意:我可以发布更多代码,但我已经使用 Instruments 将问题缩小到这一行,并且完整的示例代码对任何开发人员都很容易获得。

最佳答案

查看 KeyChainItemWrapper 的代码,我同意这一行是内存泄漏。他们错过了 writeToKeychain 末尾的 [attributes release]。查看此文件中对 SecItemCopyMatching() 的所有其他调用,以了解它们如何正确释放按引用返回的对象的示例。

我会使用本页底部的“很好,但是...”链接来记录错误。

关于iphone - iOS KeychainItemWrapper 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8665165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com