swift https bağlantı sorunu

Rapor et
Soru

Bu soru rapor edilmelidir hissediyorum neden kısaca açıklayınız.

Rapor et
İptal

Merhaba Arkadaşlar,
Swift ile JSON veri çekerek parse eden bir uygulama yazıyorum. iOS 9.1 ile XCode 7.1.1 versiyonu kullanıyorum.
http uzantılı linklerden sorunsuz verileri çekerek parse edebiliyorum, hatta https://google.com adresinden ve
https://freegeoip.net/json/ gibi adreslerden veri çekebiliyoırum. Fakat kendi oluşturduğum self-signed sertifika ile oluşturduğum ssl üzerinden veri çekerken aşağıdaki hataları alıyorum.
CFNetwork SSLHandshake failed (-9824)
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
konu ile ilgili araştırma yaptım çoğunluğun bahsettiği App Transport Security ile gelen güvenlik güncellemelerine yönelik değişiklikleri info.plist üzerinde uyguladım, fakat sonuç aynı.
Yaşadığım problemle ilgili fikri olan arkadaşlar yardımcı olursa sevinirim.
Swift Code

Cevaplandı 0
iOS 3 sene 7 Cevap 1237 görüntüleme Expert 1

Yazar HakkındaExpert

Java Developer, elektronik imza, mobil imza konusunda uzman, mobilhanem yazarı

Beni Takip Et

Cevaplar ( 7 )

  1. Taha Kırca

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Ssl oluşturmadan veriyi çekebiliyor musun? Benimde aklıma ilk gelen App Transport Security ayarlarıydı. Şu linkte aynı hata ile karşılaşmış çözümde bulmuslar ama sen de denedin mi?
    http://stackoverflow.com/questions/30720813/cfnetwork-sslhandshake-failed-ios-9

    • Avatar

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      SSL olmadan veri gönderip alabiliyorum. O linkteki çözümü de denedim fakat sonuç değişmedi. Artık sunucu tarafında bir problem olup olamayacağını düşünmeye başladım, çünkü bahsi geçen çözüm çoğu kişi için çalışmış.

      • Taha Kırca

        Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

        Rapor et
        İptal

        Peki başka bir yerden bağlanmaya çalıştın mı veri alabiliyor musun? Mesala android bağlanıyor mu yada Chrome için Postman diye bir eklenti var post işlemini tarayıcı üzerinden yapabiliyorsun. Orada sorunu daha net görebilirsin.

        • Avatar

          Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

          Rapor et
          İptal

          Son bir çözüm önerisi bulmuştum onu da deneyip bahsetmiş olduklarını deneyecektim Taha hocam ama gerek kalmadı. NSURLSession Delegate yazmak gerekiyormuş. Onu ekleyince oldu.

  2. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    plist dosyasına ne eklemiştiniz tam olarak ?

    • Avatar

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      plist dosyasına aşağıdaki verileri farklı kombinasyonlarda dahil olmak üzere ekleyerek denemeler yaptım hiç biri başarılı olmadı.

      NSAppTransportSecurity

      NSExceptionDomains

      yourserver.com

      NSIncludesSubdomains

      NSExceptionAllowsInsecureHTTPLoads

      NSExceptionMinimumTLSVersion
      TLSv1.1

      Ayrıca tüm izinleri vermek adına aşağıdaki kod parçasını da ekleyerek denemeler yaptım. http ile sorunsuz çalışmasına rağmen https ile problem devam etmekte.

      NSAppTransportSecurity

      NSAllowsArbitraryLoads

  3. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Problemi NSURLSession Delegate ekleyerek çözdüm. Bir kaç yerde bahsedilmiş bu konudan fakat benim gözümden kaçmış.

    session verisini delegate ekleyerek ve yukarıdaki şekilde tanımlayarak deneme yaptığımda veri almayı başardım.

    Yardım eden ilgilenen arkadaşlara teşekkür ederim.

    En iyi cevap

Cevap bırak

Gözat

KOD PAYLAŞIRKEN DİKKAT!!!!

HTML kod paylaşmak için

<pre class="html">HTML KOD</pre>
XML kod paylaşmak için
<pre class="xml">XML KOD</pre>
Diğer dillerde(php,java,android,javasvript,c# vs..) kod paylaşmak için
<pre>KOD</pre>
tagları arasında paylaşmayı unutmayın.