A developer uses a self-signed certificate on their test server and adds NSAllowsArbitraryLoads=true to their Info.plist to bypass ATS during development. After deployment to the App Store review, the reviewer rejects the app citing privacy concerns with the ATS exception.
An iOS developer notices their app successfully makes HTTPS requests with a self-signed certificate during testing. After submitting to the App Store the app is rejected. What ATS policy likely triggered the rejection and what is the correct fix?
- A.Self-signed certificates are accepted by ATS on every release, and the rejection came from a missing usage description string in the property list; the reviewer flagged an unrelated privacy key, and the correct fix is to add the description text: the transport configuration can stay.
- B.ATS is never configurable from the property list, and a developer has to build the exception into an NSURLSession configuration in code; the reviewer rejected the submission for the plist key itself, and the fix is to delete it: the code path is the supported route.
- C.Apple always accepts NSAllowsArbitraryLoads without justification, and the rejection points elsewhere; the reviewer objected to the self-signed certificate the test server presents, and the fix is a CA-issued certificate: the transport flag can remain.