2012-10-10 4 views
22

ऐसा प्रतीत होता है कि ऐप्पल ने आईओएस 6 में होमस्क्रीन/स्टैंडअलोन वेब ऐप्स काम करने के तरीके को बदल दिया है। विभिन्न ब्लॉग पोस्ट (example) के अनुसार इन ऐप्स को अब अपनी कैश की गई फाइलें, स्क्लेइट डीबीएस, स्थानीय स्टोरेज इत्यादि को स्टोर करने के लिए अपनी समर्पित जगह मिलती है। पहले की तरह सफारी ब्राउज़र के साथ साझा करने के बजाय।आईओएस 6 - होमस्क्रीन/स्टैंडअलोन वेब ऐप के कैश को कैसे साफ़ करें?

IOS 6 जब विकासशील मैं धार्मिक कैश को साफ़ करने के लिए निम्न प्रक्रिया के माध्यम से जाने के लिए इस्तेमाल किया ... होमस्क्रीन से

  1. निकालें एप्लिकेशन से पहले।
  2. सफारी में सभी पेज/टैब बंद करें।
  3. अंत में "कुकीज़" & डेटा "या" सेटिंग्स ">" सफारी "में" डेटा साफ़ करें "साफ़ करें।

दुर्भाग्यवश अब ऐप्पल ने लक्ष्य पदों को स्थानांतरित कर दिया है, यह वही प्रक्रिया काम नहीं कर रही है। समाशोधन के बाद, हालांकि सफारी में मेरे बदलाव उठाए जाते हैं, जब मैं होमस्क्रीन में जोड़ता हूं और ऐप लॉन्च करता हूं तो पुराना एचटीएमएल, जेएस इत्यादि अभी भी उठाया जाता है।

क्या कोई जानता है कि आईओएस 6 में कैश को पूरी तरह से कैसे साफ़ किया जाए?

+0

अब उसी निराशा के माध्यम से जा रहे हैं। किसी भी अपडेट को सुनना अच्छा लगेगा। – drogon

+0

काफी लगातार समस्या की तरह दिखता है। क्या आपने सेटिंग करने का प्रयास किया: 'मेटा सामग्री =" नहीं "नाम =" सेब-मोबाइल-वेब-ऐप-सक्षम "/>'? अगर वह फिट नहीं करता है, एक appcache प्रकट की कोशिश: 'कैश MANIFEST' [न्यू लाइन] 'नेटवर्क:' [न्यू लाइन] '*' – Sev

+1

एप्लिकेशन का आप के लिए कैश को साफ़ करना चाहते हैं, या कर रहे हैं के विकास कर रहे हैं आप बस एक उपयोगकर्ता? –

उत्तर

-1

बस अनुरोध आप के साथ इस वर्तमान में प्रतीक्षा करने के लिए है निपटने के लिए एक ही रास्ता NSURLRequestReloadIgnoringLocalCacheData

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; 
[self.webView loadRequest:request]; 
+3

यह एक वेब ऐप है जिसे सफारी से एक्सेस किया गया है, न कि एक वेब ऐप का उपयोग करके मूल ऐप। – BoltClock

+0

हूप्स। मेरी गलती लॉल, क्षमा करें। –

+2

+1: मुझे अभी भी यह उपयोगी लगता है। धन्यवाद। –

0

को वेबव्यू के पास सेट है, लेकिन वहाँ एक समाधान नहीं है। यदि आप फ़ाइल का नाम बदलते हैं, तो यह नया कोड खींच देगा। हालांकि, यदि आप इसे कैश साफ़ करने से पहले पुराने नाम पर बदल देते हैं, तो पुराने कोड का उपयोग किया जाएगा। कैश समय-समय पर रीफ्रेश होता है और अंततः अपडेट हो जाएगा। मैंने बस एक सीएसएस फ़ाइल के साथ ऐसा किया जो बदलने से इंकार कर दिया। समय इसे ठीक करेगा, लेकिन अगर आपको इसे परीक्षण के लिए अपडेट करने की आवश्यकता है, तो एक नाम परिवर्तन काम करेगा।

+0

किस फ़ाइल को नाम बदलने की जरूरत है? अगर मैं कैश फ़ाइल नाम बदलता हूं, तो क्या यह सब कुछ ठीक करेगा? –

0

यदि आईओएस 6 डिवाइस में एक जेलबैक लागू है, तो आप फ़ोल्डर "/private/var/mobile/Library/Caches/com.apple.webapp" की सामग्री को हटाने के लिए एसएसएच का उपयोग कर सकते हैं।

अगली बार जब आप वेब ऐप शुरू करेंगे, तो सभी फाइलें वेबसर्वर से पुनः डाउनलोड की जाएंगी।

4

पहले फोन में कंप्यूटर को प्लग करें और फिर कंप्यूटर पर फोन और सफारी पर वेब ऐप खोलें, फिर आप "डेवलपमेंट> फोन का नाम> ऐप का शीर्षक" मेनू से सफारी में वेब इंस्पेक्टर खोल सकते हैं (यदि आप विकास मेनू नहीं देख सकते हैं जिसे आप सफारी की प्राथमिकताओं में चालू कर सकते हैं)।

वहां से आप कुकीज और स्थानीय स्टोरेज को अपने कंप्यूटर पर साइटों की तरह संपादित/संपादित कर सकते हैं और कमांड + आर दबाकर इंस्पेक्टर केंद्रित है, फोन पर ऐप को फिर से लोड कर देगा।

+1

! यह जवाब है! मेरे पास एक पृष्ठ था जिसे मैं इतना कठिन कैश विकसित कर रहा था, मैं इसे कैश मैनिफेस्ट लेने के लिए नहीं मिला। –

9

मैं कैश सत्यापित नहीं कर सकता ठीक से साफ किया, लेकिन यह मेरे लिए काम किया:

ऐसा करने में, आप अपने iOS डिवाइस पर वेब निरीक्षक अनुमति देनी होगी। सेटिंग्स> सफारी> उन्नत> वेब इंस्पेक्टर (इसे सक्रिय होना आवश्यक है) पर जाएं और आपको अपने कंप्यूटर की सफारी पर डेवलपर मेनू को सक्रिय करना होगा। प्राथमिकताएं पर जाएं> उन्नत> सक्रिय डेवलपर मेनू

  1. यूएसबी केबल
  2. जाओ सफ़ारी> Developpement> आपके डिवाइस का नाम के साथ अपने कंप्यूटर को अपने डिवाइस से कनेक्ट> कोई एप्लिकेशन का निरीक्षण (एप्लिकेशन चला रहे हो गया है)
  3. इस वेब ऐप्लिकेशन के लिए अपने कंप्यूटर पर निरीक्षक खुल जाएगा
  4. जबकि निरीक्षक कैश (कमांड + Alt + E)
  5. आपके कंप्यूटर पर निरीक्षक अभी भी खुला ताज़ा पेज (आदेश के साथ
  6. खुला है साफ़ + आर)

किसी भी तरह वेबपैप कैश साफ़ हो गया और मुझे गैर-कैश कोड मिला।

2

उदाहरण के लिए किसी भी और सभी href विशेषताओं के सिरों के लिए एक अनूठा प्राप्त टैग जोड़कर प्रयास करें,:

<link rel="stylesheet" type="text/css" href="/css/global.css? 
    <?php echo(mt_rand(10000000, 99999999)); ?> 
" /> 

यह href="/css/global.css?########" उत्पन्न होगा, एक अलग संख्या लगभग हर समय के साथ। यह आईओएस 'सफारी को "नया" पृष्ठ खींचने के लिए मजबूर करता है, क्योंकि उसी यूआरआई से उत्पन्न होने वाले कैश में कोई डेटा नहीं है, और संभवतः कभी नहीं होगा (जब तक आप विकास के दौरान लाखों बार ऐप को पुनः लोड करने की योजना नहीं बनाते: डी)

+0

दुर्भाग्य से, पृष्ठ की HTML सामग्री को अभी भी –

+1

@ फ़्रांसस्कोएच कैश किया जाएगा। हालांकि यह सच है, आप इस अवधारणा को साइट पर किसी भी पेज पर लागू कर सकते हैं, PHP टैग को hrefs, frames, headers आदि के अंदर घोंसला करके दुर्भाग्य से, हालांकि, मुझे इस विधि का उपयोग करने के लिए एक नया तरीका नहीं मिला है इंडेक्स पेज का संस्करण नीचे खींचा जा सकता है। – SnazzyJava

+0

मैंने सब कुछ करने की कोशिश की और यह एकमात्र समाधान है जो काम करता है। धन्यवाद! –

6

मुझे एए कार्य-आसपास मिला। बस उपयोगकर्ताओं को, जो मुसीबत नए संस्करण को देखने के लिए कर रहे हैं वेब पेज पर ही एक लिंक डाल ...

<a href="javascript:top.frames.location.reload();">refresh</a> 

यह सिर्फ पता पट्टी पर iPhone/iPad के ताज़ा करें बटन की तरह काम करता है!

+0

यह नहीं पता कि यह डाउनवॉटेड क्यों है .. यह बेकार ढंग से काम करता है – Tom

+1

मैंने लगभग हर चीज की कोशिश की और अंततः यह काम किया! जबकि अन्य उत्तर डेवलपर्स के लिए उत्पादक साबित हो सकते हैं और यह पूरी तरह से मुझे स्पष्ट नहीं है कि ओपी अपने प्रश्न (डेवलपर या उपयोगकर्ता) के लिए एक प्रस्ताव खोजने का प्रयास कर रहा था, मैं बहुत शर्त लगाता हूं कि उपयोगकर्ता निश्चित रूप से कनेक्ट नहीं होने जा रहे हैं वेब निरीक्षक अपने कैश को साफ़ करने के लिए ... इसलिए उपयोगकर्ता दर्शकों के लिए यह पूरी तरह से काम करता है। इस उत्तर के लिए धन्यवाद! – HumbleBeginnings

+0

आप कुछ ब्राउज़रों पर बल ताज़ा करने के कारण पुनः लोड करने के लिए 'सत्य' भी पारित कर सकते हैं (मुझे एक निश्चित सूची नहीं मिली लेकिन सफारी उनमें से कुछ में सूचीबद्ध थी)। – toxaq

3

आप अपने कंप्यूटर पर connect your device and open Safari's web inspector कर सकते हैं और पेज को फिर से लोड करने के लिए कंसोल टैब में document.location.reload() चला सकते हैं।

पुन: लोड आप भी दबा सकते हैं विकल्प + कमान + यकीन है कि कैश साफ़ कर रहा है बनाने के लिए पहले।

के बजाय आप ऊपर भी शिफ्ट + कमान + आर कैश बिना पृष्ठ पुनः लोड करने दबा सकते हैं लेकिन कभी कभी यह मेरे लिए काम नहीं किया है।

0

यह मुझे थोड़ी देर के लिए पागल कर दिया। डिवाइस पर कैश साफ़ करने का प्रयास किया - कोई भाग्य नहीं। पृष्ठ का नाम बदलने में मदद मिली, लेकिन एक बार जब आप इसे वापस ले लेंगे, तब भी आपको वही पुराना संस्करण मिलता है। कल समाधान मिला। आपको सफारी डेवलपमेंट मेनू में अपने डिवाइस को मैक से कनेक्ट करने और वेब इंस्पेक्टर खोलने की आवश्यकता है। वेब इंस्पेक्टर में एक बार, इंस्पेक्टर के टूलबार पर "रीलोड पेज" बटन दबाएं और - वॉयला - आप अपने डिवाइस की स्क्रीन पर ताजा संस्करण देखते हैं।