iOSの UYLPasswordManagerと Keychain Migration and Data Protection - Part 3を試しているところ、コードの [result release] 行にオブジェクトのリークの可能性があるという警告が Analyze で表示されます。これは本当の潜在的なリークですか?もしそうなら、どうすれば修正できますか?そうでない場合、どうすれば警告を黙らせることができますか? 私のプロジェクトでは ARC を使用していますが、UYLPasswordManager オブジェクトのフラグでオフにしました。
- (void)searchKeychain {
if (self.keychainValue == nil) {
NSMutableDictionary *searchDictionary = [self newSearchDictionary];
[searchDictionary setObject:(id)kSecMatchLimitOne
forKey:(id)kSecMatchLimit];
[searchDictionary setObject:(id)kCFBooleanTrue
forKey:(id)kSecReturnData];
NSData *result = nil;
OSStatus status = SecItemCopyMatching((CFDictionaryRef)searchDictionary,
(CFTypeRef *)&result);
[searchDictionary release];
if (result) {
self.keychainValue = [[NSString alloc] initWithData:result
encoding:NSUTF8StringEncoding];
[result release];
}
}
}