NSURLSession/NSURLConnection HTTP load failed on iOS 9

前端 未结 13 1073
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-22 05:20

Tried to run my existing app on iOS9 but getting failure while using AFURLSessionManager.

__block NSURLSessionDataTask *task = [self.sessionMana         


        
13条回答
  •  醉酒成梦
    2020-11-22 06:03

    Found solution:

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

    From Apple 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.

    In beta 1, currently there is no way to define this in info.plist. Solution is to add it manually:

    NSAppTransportSecurity
    
        NSAllowsArbitraryLoads
        
    
    

    enter image description here

    Update1: This is a temporary workaround until you're ready to adopt iOS9 ATS support.

    Update2: For more details please refer following link: http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

    Update3: If you are trying to connect to a host (YOURHOST.COM) that only has TLS 1.0

    Add these to your app's Info.plist

    NSAppTransportSecurity
    
        NSExceptionDomains
        
            YOURHOST.COM
            
                NSIncludesSubdomains
                
                NSTemporaryExceptionAllowsInsecureHTTPLoads
                
                NSTemporaryExceptionMinimumTLSVersion
                1.0
                NSTemporaryExceptionRequiresForwardSecrecy
                
            
        
    
    

提交回复
热议问题