मेरे पास एक साधारण आईओएस देशी ऐप है जो एक एकल UIWebView लोड करता है। मैं वेब व्यू को एक त्रुटि संदेश दिखाना चाहता हूं यदि ऐप पूरी तरह से 20 सेकंड के भीतर वेब व्यू में प्रारंभिक पृष्ठ लोड करने को पूरा नहीं करता है।आईओएस ऐप - UIWebView लोडिंग के लिए सेट टाइमआउट
मैं इस तरह मेरी viewDidLoad
(सरलीकृत) के भीतर WebView के लिए मेरे URL लोड:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]];
कोड के भीतर timeoutInterval
ऊपर वास्तव में कुछ भी "do" नहीं है, एप्पल यह करने के लिए ओएस के भीतर निर्धारित है के रूप में वास्तव में 240 सेकंड के लिए बाहर समय नहीं है।
मेरे पास webView didFailLoadWithError
क्रियाएँ सेट हैं, लेकिन यदि उपयोगकर्ता नेटवर्क कनेक्शन है, तो इसे कभी भी कॉल नहीं किया जाता है। वेबव्यू बस मेरे नेटवर्क एक्टिविटी इंडिकेटर कताई के साथ लोड करने का प्रयास जारी रखता है।
क्या वेब व्यू के लिए टाइमआउट सेट करने का कोई तरीका है?
किसी यहां कहा टाइमआउट अंतराल कनेक्शन के लिए है। एक बार यह सर्वर से कनेक्ट हो जाने पर, यह अब त्रुटि नहीं फेंक देगा। WebViewDidStartLoad में कनेक्ट होने के बाद आपको अपने स्वयं के एनएसटीमर को कार्यान्वित करने की आवश्यकता है और अपने आप को रद्द करें http://stackoverflow.com/questions/1883888/nsmutableurlrequest-timeout-doesnt-trigger-if-data-starts-to-load-but-not- webvi – mask8
ऐसा लगता है कि मैं वास्तव में क्या देख रहा हूं ... क्या आप मुझे इसे लागू करने के तरीके पर कुछ मार्गदर्शन दे सकते हैं? (मैं एक उद्देश्य-सी न्यूबी हूं) – adamdehaven
मुझे सिर्फ यह जानने की जरूरत है कि इसके लिए क्या रखा जाए: '- (शून्य) वेब व्यू: एनएसटीमर * द टाइमर { एनएसएलओजी (@" मी 1 मिनट की देरी पर है "); } ' मैं किस लक्ष्य विधि का उपयोग करूंगा? – adamdehaven