मैंने manyquestions देखा है जो पूछताछ (और उत्तर) पूछताछ कैसे करें जब आप पहले से जानते हैं कि अनुरोध की आवश्यकता है।मैं UIWebView से प्रमाणीकरण चुनौती का पता कैसे लगा सकता हूं?
जब मैं एक साइट है कि एक प्रमाणीकरण चुनौती का अनुरोध करता है लोड, (HTTP 401 के साथ प्रतिक्रिया), मेरे UIWebViewDelegate
केवल निम्न कॉलबैक प्राप्त करता है: webView:shouldStartLoadWithRequest:navigationType:
और कभी कभी webViewDidStartLoad:
(webViewDidStartLoad:
अगर मैं साइट पर सीधे नेविगेट कहा जाता प्रतीत हो रहा है, और यह ऐसा लगता है कि अगर मुझे वहां रीडायरेक्ट किया गया है तो नहीं कहा जाता है)।
-[NSObject respondsToSelector:]
अधिभावी रखकर UIWebViewDelegate
uiWebView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
और uiWebView:resource:didReceiveAuthenticationChallenge:fromDataSource:
करने के लिए कुछ कॉल है, जो उपयोगी हो सकता है प्राप्त करता है, लेकिन निश्चित रूप से उन निजी एपीआई कर रहे हैं और शायद मेरे ऐप को अस्वीकार कर दिया जाएगा।
मैंने एम्बेडेड UIWebView
एस के साथ कुछ अलग मुख्यधारा के ऐप्स का परीक्षण किया है। अभी तक, केवल क्रोम इन प्रमाणीकरण चुनौतियों को ठीक से संभालता है। मैंने अपना स्वयं का सर्वर भी स्थापित किया है और यह सत्यापित किया है कि क्रोम केवल POST
एस एक बार है। ट्विटर और Tweetbot बस मेरे जैसे लोडिंग स्क्रीन को हमेशा के लिए दिखाएं।
क्या दूसरी सट्टा NSURLConnection
का उपयोग करने के अलावा इन प्रमाणीकरण चुनौतियों का पता लगाने के लिए कोई और (शायद बहुत हैकी) तरीका है? यदि मैं POST
अनुरोध करता हूं, तो यह खराब होगा- POST
सब कुछ खराब है।
I've added a radar to request an enhancement to UIWebView for this। कृपया इसे डुप्लिकेट करें।
रडार अनुरोध करने के लिए धन्यवाद - मैंने इसे धोखा दिया है! –