मैं एप्पल के नमूना कोड से KeyChainItemWrapper उपयोग कर रहा हूँ प्रमाणीकरण के लिए उपयोगकर्ता पासवर्ड स्टोर करने के लिए, लेकिन जब मैं इसे कहते पासवर्ड सेट करने की:स्मृति रिसाव KeychainItemWrapper
[keychain setObject:passwordField.text forKey:(id)kSecValueData];
यह सब मेरी शर्ट के ऊपर मेमोरी लीक dribbles । समस्या जाहिरा तौर पर वापस निशान KeyChainItemWrapper.m में 274 लाइन है, जो इस प्रकार है:
if (SecItemCopyMatching((CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes) == noErr)
{
कैसे मैं इसे ठीक होता है, और मैं और अधिक सावधान जब भविष्य में एप्पल नमूना कोड के साथ काम किया जाना चाहिए?
नोट: मैं अधिक कोड पोस्ट कर सकता हूं, लेकिन मैंने समस्या का उपयोग करके इस लाइन को समस्या को कम कर दिया है और पूर्ण नमूना कोड किसी भी डेवलपर के लिए आसानी से उपलब्ध है।
वह वही था जहां समस्या थी। बस [विशेषताएं रिलीज] जोड़ें; लिंक प्लग के अंत में जो लिंक है। जैसा कि आपने सुझाव दिया है, इस बग को ऐप्पल को सूचित किया गया है। – Serendipity
वाह - जहां तक नमूना कोड जाता है, मुझे लगता है कि KeychainItemWrapper कुछ सबसे खराब है! हर जगह autoreleases, उपरोक्त सहित कम से कम 2 ज्ञात स्मृति रिसाव, और दूसरा एक keychainItemData प्रारंभिक ... – npellow
npellow, autoreleases के साथ क्या गलत है? वे बस कुछ बिंदु पर रिलीज।ऐप्पल अक्सर उनका उपयोग करता है। असल में, वे कैसे चाहते हैं कि हम –