Intereting Posts
ऑटो लेआउट क्या है? बंडल प्रारूप अपरिचित, अमान्य, या अनुपयुक्त मैं इस एनएसएसटीइंग के साथ एनएसआरेंज का उपयोग कैसे करूं? आईफोन / आईओएस: दो बार यूइटेबल दृश्यकेल उप-क्लासिंग -> इंटरफेसबिल्डर में अभिभावकों के गुणों का संदर्भ नहीं दे सकता है आईओएस: पता लगाएँ कि क्या मेरा एसडीके डिवाइस पर किसी अन्य ऐप्स पर स्थापित है या नहीं फोनगैप ऐप में "हमें रेट करें" सुविधा को कैसे कार्यान्वित करें स्केलेबेलनोड गायब हो जाएगा लेकिन अभी भी क्लिक करने योग्य है आईएड्स (यहां तक ​​कि आईएडी सुइट फॉर्म सेब के उदाहरणों) ने मेरे आईफोन पर दिखना बंद कर दिया, फिर भी वे सिम्युलेटर पर चलते हैं Google मानचित्र GMSMapView कस्टम UIView पर देखें UIPageViewController और वर्तमान दृश्य नियंत्रक को निकालना पृष्ठभूमि से अग्रभूमि तक एप लाएगा? सफारी के पुनर्निर्देशित किए बिना फेसबुक आईओएस एसडीके प्राधिकरण नेविगेशन छुपाएं जब स्क्रॉलिंग टेबल दृश्य संग्रह में देखेंगे? यूआईटीफ़ेस्टफिल्ड में गोलियों का आकार सुरक्षित से कनेक्ट करेंटेक्स्टएन्टर कस्टम फ़ॉन्ट का उपयोग करते समय फ़ोकस स्विच के आकार बदलता है प्रगति मूल्य पर आधारित यूआईसीलर संक्रमण

क्या किसी को UIWebView का उपयोग करते हुए एक अमान्य सर्वर प्रमाणपत्र के साथ HTTPS पृष्ठों को लोड करने का एक तरीका मिला है?

अगर कोई उपयोगकर्ता मोबाइल सफारी में एक https वेब पेज को लोड करने का प्रयास करता है और सर्वर की प्रमाणपत्र सत्यापन जांच विफल हो जाती है (इसकी समाप्त हो गई, निरस्त की गई, स्व-हस्ताक्षरित आदि।) तो उपयोगकर्ता को एक चेतावनी संदेश प्रस्तुत किया गया है और पूछा गया कि क्या वह जारी रखना चाहते हैं या नहीं।

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

हालांकि ऐसा लगता है कि UIWebView में एक https पेज लोड हो रहा है, जो प्रमाण पत्र में विफल रहता है, जांचें कि व्यवहार केवल पृष्ठ को लोड करने में विफल रहता है – didFailLoadWithError: kCFURLErrorServerCertificate के साथ कॉल हो जाता हैअभी अविश्वस्त होता है हालांकि उपयोगकर्ता को कुछ भी नहीं दिखाया जाता है।

यह असंगत है – निश्चित रूप से UIWebView व्यवहार को iPhone के भीतर सुसंगत होने के लिए सफ़ारी के समान व्यवहार करना चाहिए? यह भी एक मूर्खता है कि NSURLConnection अभी तक NSURLRequest के साथ कुल लचीलेपन की अनुमति देता है: setAllowsAnyHTTPSCertificate निजी है

ऐसे व्यवहार को लागू करने के लिए क्या कोई रास्ता है जो सफारी के अनुरूप है, क्या इस डिफ़ॉल्ट व्यवहार को NSURLConnection के समान तरीके से अनुकूलित किया जा सकता है?

चियर्स

कृपया किसी को यह करना क्यों चाहते हैं, इसके बारे में पक्ष की चर्चाओं को संरक्षण देने से बचें कृपया बहुत बहुत धन्यवाद

Solutions Collecting From Web of "क्या किसी को UIWebView का उपयोग करते हुए एक अमान्य सर्वर प्रमाणपत्र के साथ HTTPS पृष्ठों को लोड करने का एक तरीका मिला है?"

मुझे पता चला कि यह कैसे करना है:

1) जब पेज लोड हो जाता है तो यह असफल हो जायेगा, इस प्रकार कुछ करने के लिए निम्नलिखित की तरह कुछ जोड़ें: FailLoadWithError:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error if ([error.domain isEqualToString: NSURLErrorDomain]) { if (error.code == kCFURLErrorServerCertificateHasBadDate || error.code == kCFURLErrorServerCertificateUntrusted || error.code == kCFURLErrorServerCertificateHasUnknownRoot || error.code == kCFURLErrorServerCertificateNotYetValid) { display dialog to user telling them what happened and if they want to proceed 

2) यदि उपयोगकर्ता पृष्ठ को लोड करना चाहता है तो आपको NSURL कनेक्शन का उपयोग करके कनेक्ट करना होगा:

 NSURLRequest *requestObj = [NSURLRequest requestWithURL:self.currentURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10.0]; self.loadingUnvalidatedHTTPSPage = YES; [self.webView loadRequest:requestObj]; 

3) फिर इस परिवर्तन को चाहिएस्टस्टललोडविथरूइस्ट करें

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if (self.loadingUnvalidatedHTTPSPage) { self.connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; [self.connection start]; return NO; } 

4) NSURLConnectionDelegate को लागू करें:

 - (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { SecTrustRef trust = challenge.protectionSpace.serverTrust; NSURLCredential *cred; cred = [NSURLCredential credentialForTrust:trust]; [challenge.sender useCredential:cred forAuthenticationChallenge:challenge]; } - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response; { NSURLRequest *requestObj = [NSURLRequest requestWithURL:self.currentURL cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10.0]; self.loadingUnvalidatedHTTPSPage = NO; [self.webView loadRequest: requestObj]; [self.connection cancel]; } 

यह सब ठीक काम करने लगता है

घोड़े के मुंह से:

"UIWebView अपने एचटीटीपीएस सर्वर ट्रस्ट मूल्यांकनों को अनुकूलित करने के लिए कोई भी तरीका प्रदान नहीं करता है। यह सार्वजनिक एपीआई का उपयोग कर इस सीमा के आसपास काम करना संभव है, लेकिन यह आसान नहीं है। अगर आपको यह करने की आवश्यकता है, तो डेवलपर तकनीकी सहायता (डीटीएस) से संपर्क करें। @ apple.com)

स्रोत: http://developer.apple.com/library/ios/#technotes/tn2232/_index.html