2012-08-23 13 views
10

मैं objective C पर नया हूं, मैंने एक उपयोगकर्ता बनाया है जिसमें मैंने अपने उपयोगकर्ता नाम और पासवर्ड को स्टोर करने के लिए NSUserDefault और Keychain दोनों का उपयोग किया है। लेकिन मैं दोनों को अलग नहीं कर सकता। कृपया दोनों को अलग करने में मदद करें।कीचेन और एनएसयूसर डीफॉल्ट के बीच अंतर?

धन्यवाद।

+0

यह एक बहुत ही स्पष्ट टिप्पणी केवल कीचेन की अपनी समझ को आसान बनाने के लिए है में ट्रैक कर सकते हैं। कीचेन और एनएसयूसर डीफॉल्ट ** ** बहुत समान हैं **। दोनों के लिए आप बस कुछ करें * ऑब्जेक्ट के लिए सेट करें और फिर ऑब्जेक्टफोरकी इसे पढ़ने के लिए करें * वे दोनों स्टोर हैंश। कीचेन और एनएसयूसर डीफॉल्ट दोनों सैंडबॉक्स किए जाएंगे, लेकिन यदि आप ऐप अनइंस्टॉल किया गया है तो भी किचन को स्मृति से हटाया नहीं जाएगा। अगली बार जब आप इंस्टॉल करेंगे तब भी यह होगा। ICloud के लिए एक कीचेन भी है जो कई उपकरणों में काम करता है लेकिन यह एक अलग कहानी है – Honey

उत्तर

10

कीचेन एक एन्क्रिप्टेड कंटेनर है जिसमें कई अनुप्रयोगों और सुरक्षित सेवाओं के लिए पासवर्ड हैं। ऐप्पल इंक मैक ओएस और आईओएस में पासवर्ड प्रबंधन प्रणाली के रूप में कीचेन का उपयोग करता है।

NSUserDefaults उपयोगकर्ता प्राथमिकताओं के आधार पर एप्लिकेशन व्यवहार अनुकूलन के लिए एक तरीका प्रदान करता है। कोको और कोको टच के लिए फाउंडेशन ढांचे के अनुरूप है।

मैं की NSUserdefaults और keychain

4

अलावा टैग सूचना से यह मिल गया: जब हम यूज़रनेम और पासवर्ड को बचा लिया। और डिवाइस से ऐप निकालें।

कीचेन में: उपयोगकर्ता नाम और पासवर्ड अभी भी है।

NSUserDefaults में: उपयोगकर्ता नाम और पासवर्ड आपके ऐप के साथ डिवाइस से भी हटा देता है।

1

जितना संभव हो सके डेटा को स्थानीय रूप से सहेजने से बचने का प्रयास करें।

Keychain - कीचेन उपयोगकर्ता नाम, पासवर्ड आदि की तरह छोटे भंडारण डेटा को बचाने के लिए & एन्क्रिप्टेड तरह से सुरक्षित है कीचेन डेटा खबरदार jailbroken उपकरणों से पहुँचा जा सकता कर सकते हैं। आप here से ऐप्पल नमूना कोड प्राप्त कर सकते हैं।

Keychain Sharing - कीचेन साझा करने को सक्षम करने से आपके एप्लिकेशन को आपके टीम द्वारा विकसित अन्य एप्लिकेशन के साथ कीचेन में पासवर्ड साझा करने के लिए अनुमति देता है। मान लें कि हमने दो ऐप्स बनाए हैं जहां उपयोगकर्ता एक ही खाते में लॉग इन कर सकते हैं। इन ऐप्स के बीच लॉगिन जानकारी साझा करने की क्षमता होना अच्छा लगेगा। इस तरह उपयोगकर्ता को केवल एक ऐप में लॉग इन करने की आवश्यकता होगी।

UserDefaults उपयोगकर्ता की चूक डेटाबेस, जहां आप एक दिए गए डिवाइस पर अपने अनुप्रयोग के आमंत्रण भर में लगातार कुंजी-मान जोड़ों स्टोर करने के लिए एक इंटरफेस। उपयोगकर्ता डेटा डिफ़ॉल्ट डेटा सहेजने के लिए सुरक्षित तरीका नहीं है। UserDefaults plist के रूप में जमा हो जाती है स्थानीय स्तर पर, किसी ./Library/Preferences/com.mycompany.MyAppName.plist

संबंधित मुद्दे