App Transport Security has blocked a cleartext HTTP connection since it is insecure

I have searched up this issue online and there is no clear documentation on how to make an insecure HTTP request on Xcode 13 as the info.plist list does not show unlike previous Xcode versions. I have tried making an exception domain as shown below.

Could anyone please guide me further on what I should do? This is the error raised, "App Transport Security has blocked a cleartext HTTP connection since it is insecure. Use HTTPS instead or add Exception Domains to your app's Info.plist."

Answered by Scott in 719399022

Your NSExceptionAllowsInsecureHTTPLoads key is in the wrong place. It needs to be a child of the domain key (your redacted red item) rather than a child of the Exception Domains key which is one level up. It should look like the last screenshot shown on this page.

Tip: In Xcode’s property list editor, to add a key to a dictionary, make sure to expand the dictionary (so the disclosure chevron points down) before you click the button. That will create the new key as a child of the current row. Otherwise (if not expanded) it will add the new key as a sibling of the current row, which may have happened in your case.

Accepted Answer

Your NSExceptionAllowsInsecureHTTPLoads key is in the wrong place. It needs to be a child of the domain key (your redacted red item) rather than a child of the Exception Domains key which is one level up. It should look like the last screenshot shown on this page.

Tip: In Xcode’s property list editor, to add a key to a dictionary, make sure to expand the dictionary (so the disclosure chevron points down) before you click the button. That will create the new key as a child of the current row. Otherwise (if not expanded) it will add the new key as a sibling of the current row, which may have happened in your case.

App Transport Security has blocked a cleartext HTTP connection since it is insecure
 
 
Q