लघु:
Will iOS clear /Library/Caches for me when the app is updated
नहीं
क्या यह संभव है आईओएस एक अद्यतन के दौरान स्पष्ट सब कुछ या Application_Home/Library/Caches
के कुछ हिस्सों करता है कि? हां
or I need to clear it myself?
आपको यह सुनिश्चित करने की ज़रूरत है कि आप क्या साफ़ करना चाहते हैं।
दोनों स्थितियों के लिए तैयार रहें।
आप कैसे जानते हैं कि आपका ऐप अपडेट हो गया है या नहीं? iOS Application Update Test
लांग देखें:
फ़ाइलें सहेजी गयी आवेदन अद्यतन के दौरान कोई उपयोगकर्ता एक आवेदन अद्यतन डाउनलोड करता है, आइट्यून्स एक नया आवेदन निर्देशिका में अद्यतन स्थापित करता है। इसके बाद पुरानी स्थापना को हटाने से पहले उपयोगकर्ता की डेटा फ़ाइलों को पुराने स्थापना से नई एप्लिकेशन निर्देशिका में स्थापित किया जाता है।निम्नलिखित निर्देशिकाओं में से फ़ाइलें की गारंटी दी जाती अद्यतन प्रक्रिया के दौरान संरक्षित किया:
- Application_Home/दस्तावेज़
- Application_Home/लाइब्रेरी
हालांकि अन्य उपयोगकर्ता निर्देशिकाओं में से फ़ाइलें भी पर ले जाया जा सकता है, तो आप को अद्यतन के बाद उपस्थित होने पर भरोसा नहीं करना चाहिए।
सेब प्रलेखन से: The Application Runtime Environment - Backup and Restore
Application_Home/Library/Caches इस निर्देशिका उपयोग किसी भी आवेदन विशेष समर्थन फ़ाइलों है कि आप आवेदन के की शुरूआत या के बीच बनाए रखना चाहते लिखने के लिए आवेदन अपडेट के दौरान। आपका एप्लिकेशन आमतौर पर इन फ़ाइलों को जोड़ने और हटाने के लिए ज़िम्मेदार है। यह आवश्यक फ़ाइलों को के रूप में फिर से बनाने में सक्षम होना चाहिए क्योंकि आईट्यून्स डिवाइस की पूर्ण बहाली के दौरान उन्हें हटा देता है। आईओएस 2.2 और बाद में, इस निर्देशिका की सामग्री का समर्थन iTunes द्वारा का बैक अप नहीं लिया गया है।
सेब प्रलेखन से: The Application Runtime Environment - The File System (daveoncode)
यहाँ जब यह एक "अद्यतन" के दौरान कैश को साफ़ करता है का एक उदाहरण: आप एप्लिकेशन एक्स V1.0 स्थापित करें। इसे एक बार लंच करें और कुछ और करना शुरू करें। आईओएस malfunctions और बहाल करने की जरूरत है। डेवलपर वी 1.1 जारी करता है। आप अपने मैक पर आईट्यून्स में ऐप अपडेट करते हैं। आप आईट्यून्स के माध्यम से अपना डिवाइस बहाल करते हैं। iTunes V1.1 इंस्टॉल करता है। उपयोगकर्ता आपके ऐप को लॉन्च करता है। आपके ऐप को सूचित नहीं किया गया है कि इनमें से कोई भी सामान हुआ लेकिन Application_Home/Library/Cache
में सभी फ़ाइलें चली गईं (iTunes removes them during a full restoration of the device
)।
वहां वास्तव में महत्वपूर्ण जानकारी: It should also be able to re-create these files as needed
। केंडल की तरह यह भी बताया गया कि यह एक कैश है, इसलिए किसी भी समय ऑपरेटिंग सिस्टम द्वारा फ़ाइलों को हटाया जा सकता है। इसलिए हर बार जब आप Application_Home/Library/Caches
से कोई भी फ़ाइल लोड करते हैं तो आपको इस मामले के लिए खाता लेना होगा कि फ़ाइल अब और नहीं है (केंडल इस पर छू गया)।
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
if(![fileManager fileExistsAtPath:[cachePath stringByAppendingPathComponent:@"myfile.zip"]]) {
//create it, copy it from app bundle, download it etc.
}
//start using it
है, वहाँ है कोई बात नहीं। समस्या यह है कि, यदि अद्यतन के बाद कैश साफ़ नहीं है, तो कुछ कैश की गई फ़ाइलें बदल सकती हैं, और पुरानी फ़ाइल का उपयोग अभी भी किया जाएगा। – fbafelipe
यह कोई समस्या नहीं है यदि आप ऐप संस्करण संख्या को अपनी कैश की गई फ़ाइलों के साथ किसी तरह से जोड़ते हैं। –