2015-06-17 14 views
5

Używam wersji beta xcode 7. Teraz pracuję nad API. Jeśli korzystam z interfejsu API w Xcode 6.3, działa dobrze, ale gdy pojawi się ten sam interfejs API, którego użyłem w komunikacie o błędzie xcode 7, pojawia się komunikat Nie można przeanalizować.Błąd wywołania Api w Xcode 7/iOS 9 (jak skonfigurować App Transport Security w plist)

here is the API i am using

Proszę mi pomóc. Dzięki z góry

+0

To nie jest API, które są danymi XML. – Droppy

+0

tak, to jest dane xml, ale w kodzie x odpowiedź 7 nie jest wyświetlana zerowo –

+0

Czy uważasz, że pokazanie kodu może pomóc w rozwiązaniu problemu, czy też spodziewamy się, że zgadniemy, w jaki sposób wdrożyłeś swoje rozwiązanie? – Droppy

Odpowiedz

9

W iOS9 firma Apple dodała nową funkcję o nazwie App Transport Security (ATS).

ATS wymusza stosowanie najlepszych praktyk podczas połączeń sieciowych, w tym korzystanie z HTTPS.

Jabłko dokumentacja Pre-release:

ATS zapobiega przypadkowemu ujawnieniu, zapewnia bezpieczne zachowanie domyślne, i jest łatwa do przyjęcia. Powinieneś jak najszybciej przyjąć ATS, niezależnie od tego, czy tworzysz nową aplikację, czy aktualizujesz istniejącą już wersję .

Jeśli tworzysz nową aplikację, powinieneś używać wyłącznie HTTPS. Jeśli masz już zainstalowaną aplikację, powinieneś korzystać z HTTPS tak często, jak tylko możesz teraz i jak najszybciej utworzyć plan migracji pozostałej części aplikacji jako .

Dodaj poniżej klucza w pliku info.plist &, a następnie zobacz.

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

Nawet można dodać specyficzny wyjątek,

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>testdomain.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <false/> 
      <key>NSExceptionAllowInsecureHTTPSLoads</key> 
      <false/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSThirdPartyExceptionAllowInsecureHTTPSLoads</key> 
      <false/> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSRequiresCertificateTransparency</key> 
      <false/> 
     </dict> 

     ... 

    </dict> 
</dict> 
+0

dziękuję działa dobrze dla mnie –

4

Możesz śledzić to proste kroki ..

Dodaj następujące w ty Info.plist enter image description here

NSAppTransportSecurity
NSAllowsArbitraryLoads
ten pomoże Ci.

+0

działa dobrze NSAppTransportSecurity NSAllowsArbitraryLoads będzie pomagają pełna .... –

+1

'NSAppTransportSecurity NSAllowsArbitraryLoads' –

Powiązane problemy