Api Call Error in Xcode 7 / iOS 9 (how to setup App Transport Security in plist)

前端 未结 2 1611
迷失自我
迷失自我 2020-12-06 20:00

I am using xcode 7 beta version. Now, I am working an API. If, I use the API in Xcode 6.3 it works fine but when same API I used in xcode 7 error message appears Unable to p

相关标签:
2条回答
  • 2020-12-06 20:24

    In iOS9, Apple added new feature called App Transport Security(ATS).

    ATS enforces best practices during network calls, including the use of HTTPS.

    Apple Pre-release documentation:

    ATS prevents accidental disclosure, provides secure default behavior, and is easy to adopt. You should adopt ATS as soon as possible, regardless of whether you’re creating a new app or updating an existing one.

    If you’re developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible.

    Add Below key in your info.plist & then see.

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

    Even you can add specific exception,

    <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 讨论(0)
  • 2020-12-06 20:36

    You can follow this easy steps..

    Add the following in you info.plist

    NSAppTransportSecurity
    NSAllowsArbitraryLoads
    This will help you.

    0 讨论(0)
提交回复
热议问题