2017-06-22 19 views
13

विफल रहता है मैंने अभी एक्सकोड (9.0 बीटा (9 एम 136 एच) का नवीनतम संस्करण डाउनलोड किया है।xCode 9 - आईओएस 11: NSURLConnection - sendAsynchronousRequest

हालांकि, जब मैं (का उपयोग करते हुए NSURLConnection sendAsynchronousRequest) आईओएस 11 सिम्युलेटर में अपने सर्वर के लिए एक अनुरोध बनाने की कोशिश, एक त्रुटि प्राप्त होता है:

NSURLSession/NSURLConnection HTTP लोड हो सका (kCFStreamErrorDomainSSL, -9807) NSURLConnection समाप्त त्रुटि के साथ - कोड -1202

एनएसईआरआरआर ऑब्जेक्ट में संदेश - @ "NSLocalizedDescription" है: @ "इस सर्वर का प्रमाणपत्र अमान्य है। आप ऐसे सर्वर से कनेक्ट हो रहे हैं जो" *** "होने का नाटक कर रहा है अपनी गोपनीय जानकारी को खतरे में डाल दें। "

plist शामिल हैं:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

तो यह इस मामले (मुझे लगता है)

जरूरत नहीं कहना है कि यह आईओएस 10/9/8 में

काम कर रहा है में समस्या नहीं है कोई सुझाव?

अग्रिम धन्यवाद!

+0

इस मुद्दे के लिए एक फिक्स पाएं? –

+1

@ChrisVanBuskirk बिल्कुल नहीं। मैंने अपने अलग-अलग लड़के को झुकाया, जिसमें कहा गया था कि यह शायद प्रमाण पत्र से संबंधित है जो समाप्त हो गया है। ऐसा लगता है कि आईओएस 11 में वे पूरे सुरक्षा मुद्दे पर जोर देते हैं। अभी तक मैं पूरा करने का उपयोग कर रहा हूं हैंडलर (.useCredential, URLCredential (ट्रस्ट: challenge.protectionSpace.serverTrust)) URLSession प्रतिनिधियों की प्रतिक्रियात्मक चुनौती में बस इसे काम करने के लिए। – dor506

+0

@ dor506 क्या आप अपना फिक्स दिखा सकते हैं? मैं इस पर 9 घंटे के लिए इस पर काम कर रहा हूं और मैं कोई मदद लेता हूं जिसे मैं प्राप्त कर सकता हूं। मेरे लिए ओबीजे सी में पहली बार कोडिंग। – ODelibalta

उत्तर

1

आप सभी को आईओएस 11 में यह त्रुटि प्राप्त करने के लिए, कृपया सुनिश्चित करें कि आप अपने सर्वर में वैध (सुरक्षित) प्रमाणपत्र के विरुद्ध काम कर रहे हैं।

हमारे मामले में, प्रमाण पत्र पर्याप्त सख्त नहीं था।

एक बार हमारे सर्वर लड़के ने नए वैध प्रमाण पत्र को एकीकृत करने के बाद, समस्या चली गई है।

यह जांचने का एक तरीका है कि प्रमाणपत्र सुरक्षित है या नहीं, ब्राउज़र में समस्याग्रस्त लिंक को पीछे छोड़ना है।

नतीजतन, जैसा कि आप देख सकते हैं कि कनेक्शन सुरक्षित नहीं है:

enter image description here

+0

देखें, हालांकि मैं अद्यतन की सराहना करता हूं, यह मेरे लिए लागू नहीं होता है। मेरे आईओएस 11 टेस्ट फोन – ODelibalta

5

आप अपने आवेदन HTTP (कोई एस) कनेक्शन चलाने की अनुमति की जरूरत है। डिफ़ॉल्ट रूप से, एप्पल केवल अनुमति देता है HTTPS:

  1. अपने Info.plist करने के लिए जाना

    here

  2. तो उनमें से किसी पर प्लस आइकन प्रेस
  3. "App परिवहन सुरक्षा सेटिंग्स" के लिए खोज here
  4. बाईं ओर छोटे तीर पर क्लिक करें और "मनमाने ढंग से लोड की अनुमति दें" ढूंढें, डिफ़ॉल्ट रूप से इसे "नहीं" पर सेट किया गया है "हाँ"
+2

पर यूआरएल के साथ-साथ सफारी के साथ क्रोम ठीक है, सुरक्षा.एसई और क्रिप्टो.एसई के लोगों के अनुसार आपको खराब सुरक्षा अभ्यास के लिए दोषी ठहराया गया है। – DannyNiu

+0

हो सकता है, लेकिन यह उसकी समस्या का समाधान है – Carter4502

+0

यह समाधान नहीं है, उदाहरण के लिए मेरे पास HTTP अनुरोध है और मैंने पहले से ही मनमाने ढंग से भार को YES पर सेट करने की अनुमति दी है, लेकिन फिर भी मुझे एक ही त्रुटि है: कार्य <6CBEEC35-4B88-43A1-9269- 1B919EA0FD81>। <72> त्रुटि के साथ समाप्त हुआ - कोड: -999 – Genevios

0

चूंकि आपके पास एक अवैध प्रमाणपत्र त्रुटि है, इसलिए मैं अपने व्यक्तिगत सुरक्षा अभ्यास के आधार पर निम्नलिखित सुझाव दूंगा।

यदि आप अभी भी अपने सीए के साथ अपने सर्विसिंग शर्तों में हैं, तो उनसे पूछें कि वे आपके लिए एक नया मान्य प्रमाणपत्र जारी करें।

अपनी कीचेन सेटिंग जांचें और सुनिश्चित करें कि कोई सीए प्रमाणपत्र गुम है।

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

संबंधित मुद्दे