📁
til
  • Today I Learned
  • Bookmarks
    • Bookmarks
  • Centos
    • How to limit bandwidth on CentOS
  • CI/CD
    • Add a mac as a GitLab runner
    • Setup CI pipeline for iOS projects on gitlab.com
  • cocoapods
    • private-spec-repo
    • CocoaPods save project.pbxproj file in XML plist format on Xcode 7.3.1
  • git
    • Git keeps asking password after El Capitan Upgrade
    • change-case-sensitivity-of-filename
    • interactive-rebase
    • Fork a repo
  • hacking
    • Decompile Android apk
  • homebrew
    • Bash Completion
  • ios
    • ats
    • Failed to open Xcode (LSOpenURLsWithRole() failed with error -10699)
    • Redirect to Settings Page
    • Retrieve expiry date of Provisioning Profile Certificate from .ipa
    • WKWebView set custom HTTP headers
    • IAP applicationUsername is nil
  • Jenkins
    • Create stage dynamically in declarative pipeline
  • mac
    • Catalina failed to sync iPhone with Finder
  • networking
    • shadowsocks vs. VPN
  • Objective-C
    • Keep subview in Scroll View always on screen
    • Custom View using xib
    • Scroll up TextField when keyboard shows
    • autolayout-hugging-vs-resistance
  • Regex
    • regex-chinese-char
  • SQL
    • update-json-value-in-postgresql
    • select-random-row-in-sql
  • SSH
    • verify-ssh-passphrase
  • SVN
    • Svn Checkout Directories only
  • swift
    • equatable
  • unix
    • Create and Grant Sudo Privileges to user
    • Create and Change Current Directory
    • Show ASCII Text welcome message when login with SSH
  • vim
    • Vim with Multiple Files
Powered by GitBook
On this page
  • App Transport Security (ATS)
  • Overview
  • Exception
  • Diagnose ATS Connection Issues
  • References

Was this helpful?

  1. ios

ats

App Transport Security (ATS)

Overview

App Transport Security (ATS) means the App must connect to server with HTTPS connections. In the past, we can add an ATS key in the plist to ignore this requirement. However, ATS is required for all apps as of JAN 2017.

Exception

You can add the following ATS keys in the plist, but must provide justifications to explain why you need it.

  • NSAllowsArbitraryLoads (available >= iOS 9)

  • NSAllowsArbitraryLoadsForMedia (available >= iOS 10)

  • NSAllowsArbitraryLoadsInWebContent (available >= iOS 10)

  • NSExceptionAllowsInsecureHTTPLoads (available >= iOS 10)

  • NSExceptionMinimumTLSVersion (available >= iOS 10)

if NSAllowsArbitraryLoadsForMedia or NSAllowsArbitraryLoadsInWebContent is provided, NSAllowsArbitraryLoads will be ignored. NSAllowsArbitraryLoadsForMedia - if YES, disables all ATS restrictions for media loaded using APIs from the AV Foundation framework

Diagnose ATS Connection Issues

use nscurl to check if the URL is ATS enabled

nscurl --ats-diagnostics [--verbose] URL

examples:

nscurl --ats-diagnostics --verbose https://apple.com

References

PreviousBash CompletionNextFailed to open Xcode (LSOpenURLsWithRole() failed with error -10699)

Last updated 5 years ago

Was this helpful?

Plist Key | Apple Developer
App Transport Security Exception for AVFoundation | Apple Developer Forums
App Transport Security REQUIRED January 2017 | Apple Developer Forums