मेरा ऐप आईट्यून्स फ़ाइल साझाकरण का उपयोग कर रहा है जो उपयोगकर्ता को दस्तावेज़ निर्देशिका में सबकुछ उजागर करता है, जिससे इसे गलती से हटाने या छेड़छाड़ करने के लिए कमजोर बना दिया जाता है।दस्तावेज़ निर्देशिका निर्देशिका एक विकल्प नहीं है जब निजी महत्वपूर्ण उपयोगकर्ता डेटा स्टोर करने के लिए कहां?
मैंने इन दस्तावेजों को पढ़ने में घंटों बिताए लेकिन यह एक गड़बड़ है और मुझे उम्मीद है कि कोई अनुभव से जानता है। सबसे पहले, एक स्थान पर वे कहते हैं कि मुझे इन फ़ाइलों को लाइब्रेरी निर्देशिका में रखना चाहिए।
In this technical Q & A ऐप्पल का कहना है कि यह संरक्षित है। मेरी समझ से इसका मतलब है कि मैं सुरक्षित रूप से इस निर्देशिका में sqlite3 डेटाबेस फ़ाइलों जैसे महत्वपूर्ण उपयोगकर्ता डेटा डाल सकता हूं। जब एक नए संस्करण के लिए उपयोगकर्ता अद्यतन, इस निर्देशिका के अंदर सामग्री संरक्षित किया जाएगा, यह जीवित रहते हैं और अद्यतन के बाद उपलब्ध होगा:
अनुप्रयोगों /पुस्तकालय में अपने स्वयं के निर्देशिका बना सकते हैं/और उन निर्देशिका बैकअप में और अद्यतन
तो/लाइब्रेरी भर में संरक्षित किया जाएगा/बैकअप में और अद्यतन भर में संरक्षित है।
मेरे लिए खराब अंग्रेजी के साथ इसका मतलब है: हाँ, डेटा जीवित रहेगा। जब उपयोगकर्ता बैक अप लेता है तो यह खो नहीं जाएगा। जब उपयोगकर्ता अपडेट होता है तो यह खो नहीं जाएगा। मैंने कई शब्दकोशों में "संरक्षित" शब्द देखा और मुझे यकीन है कि इसका मतलब है "यह जीवित रहेगा"।
लेकिन फिर, this note in the iOS Application Programming Guide है जो कुछ पूरी तरह से अलग बताता है! यहाँ, वे लाइब्रेरी निर्देशिका के बारे में कहते हैं:
<Application_Home>/Library/ You should not use this directory for user data files. The contents of this directory (with the exception of the Caches subdirectory) are backed up by iTunes. Your application is generally responsible for adding and removing these files. It should also be able to re-create these files as needed because iTunes removes them during a full restoration of the device.
"उपयोगकर्ता डेटा फ़ाइलों के लिए उपयोग नहीं करना चाहिए।" (???)
लेकिन साथ ही वे इसे आईट्यून्स द्वारा समर्थित मानते हैं। ठीक। तो फिर मुझे उपयोगकर्ता डेटा फ़ाइलों को वहां क्यों नहीं रखना चाहिए?
/Library/Caches इस निर्देशिका उपयोग किसी भी ऐप्स विशिष्ट समर्थन फ़ाइलों है कि आप आवेदन के की शुरूआत के बीच या आवेदन अपडेट के दौरान बनाए रखना चाहते लिखने के लिए। (...) यह आवश्यकतानुसार इन फ़ाइलों को फिर से बनाने में सक्षम होना चाहिए क्योंकि iTunes डिवाइस के पूर्ण बहाली के दौरान उन्हें हटा देता है।
क्या ?! मुझे इन फ़ाइलों को लाइब्रेरी/कैश में रखना चाहिए। लेकिन इस निर्देशिका का बैक अप आईट्यून्स द्वारा समर्थित नहीं है, जैसा कि उन्होंने ऊपर बताया था। तो यह केवल अद्यतनों के लिए बचा है, लेकिन बैकअप के लिए नहीं। और डेटा सिस्टम द्वारा किसी भी समय हटाया जा सकता है।
अब यह पूरी तरह से मुझे भ्रमित कर रहा है। जो मैं समझता हूं उससे मैं बुराई और शैतान के बीच चयन कर सकता हूं: डेटा/लाइब्रेरी/डेटा अपडेट नहीं रहता है लेकिन आईट्यून्स द्वारा समर्थित है। डेटा/लाइब्रेरी/कैश में डेटा अपडेट रहता है, लेकिन आईट्यून्स द्वारा समर्थित नहीं है और इसे सिस्टम द्वारा हटाया जा सकता है (क्योंकि यह किसी भी समय "कैश" है)।
और दूसरी तरफ, तकनीकी प्रश्न & ए इस महत्वपूर्ण उपयोगकर्ता डेटा को कस्टम सबफ़ोल्डर में/लाइब्रेरी/में उदाहरण के लिए/लाइब्रेरी/प्राइवेट दस्तावेज़ों में डालने का सुझाव देता है।
आईओएस अनुप्रयोग प्रोग्रामिंग गाइड के विपरीत, तकनीकी क्यू & ए का कहना है: पूरे/लाइब्रेरी निर्देशिका हमेशा अद्यतन और बैकअप
तो अब के दौरान संरक्षित किया गया है, वास्तव में, दोनों दस्तावेजों से एक होना चाहिए गलत। पर कौनसा? सच क्या है? कृपया अटकलें नहीं! मैं अनुभव से उत्तरों की तलाश में हूं और मुझे लगता है कि एक ऐप जारी करने और प्रार्थना करने के अलावा इसे समझने का कोई तरीका नहीं है। शायद कोई वास्तव में काम करने के अपने अनुभव को साझा करना चाहता है।
क्या यह पथ निजी है, या इस फ़ोल्डर से कई एप्लिकेशन पढ़ सकते हैं? – f2prateek
@ f2prateek आईओएस पर या एक सैंडबॉक्स वाले मैकोज़ ऐप में, यह पथ आपके ऐप के कंटेनर में होगा। –