I've been working on an app...since the iOS 11 update disabling ATS does not work anymore I've added the below in the info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
I can't use the domain exception key as I am downloading images from unknown domains. below is what I get when trying to download an image
Task <C3DC30F1-5869-46F6-ABA4-5E1EC8334FD8>.<0> HTTP load failed (error code: -1005 [4:-4])
NSURLConnection finished with error - code -1005
I am aware that IOS 11 not longer supports the following:
- RC4 3DES-CBC AES-CBC
- MD5 SHA-1
- <2048-bit RSA Pub Keys - All TLS connections to servers
- http://
- SSLv3
- TLS 1.0
- TLS 1.1
Adding the following we can bypass the ATS (App Transport Security) error:
<key>NSAppTransportSecurity</key> <dict>
<key>NSExceptionDomains</key>
<dict>
<key>mydomain.com</key>
<dict>
<!--Include to allow subdomains-->
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict> </dict>
Reference link : iOS 11 ATS (App Transport Security) no longer accepts custom anchor certs?
I had also faced same issue where I was getting following errors -
Task <DEBDD8DA-3D0D-43E0-B61A-CEFBDD6FF070>.<1> finished with error - code: -999
finished with error - code: -1001
Task <2C0D248B-1FBE-4DA0-B50A-0421E2509F42>.<2> load failed with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out.
Earlier I was using Automatically manage signing option under the General tab. When I have created new provisional profiles, I was not having this issue anymore.
Solution - Don't use Automatically manage signing option and create and add your Provisional Profiles.
来源:https://stackoverflow.com/questions/47300932/app-transport-security-does-not-work-any-more-with-ios-11-xcode-9