Как указано в @EmilioPelaez, приложение управляет активностью ATS или нет. Если ваша инфраструктура делает что-то, что нарушает правила ATS, каждое приложение, использующее инфраструктуру, должно будет добавить соответствующие исключения.
Для этого есть веские основания. Возьмем, к примеру, общую инфраструктуру сетевого помощника, где URL-адреса предоставляются для вызовов инфраструктуры вызывающим приложением. В рамках этой структуры не было бы никакого способа узнать, потребуется ли ей ОВД. И наоборот, если в структуре есть жестко закодированные URL-адреса, требующие исключений ATS, разработчик вызывающего приложения должен знать об этом, и он не должен быть закрыт лицом, которое разработчик инфраструктуры добавил в исключения. Я, как разработчик, хотел бы знать, что я использовал фреймворк, который по своей сути был небезопасным. Если вы имеете дело с последним сценарием, просто добавьте в свою документацию фреймворка исключения, которые необходимы для правильной работы фреймворка.
Кроме того, в качестве передовой практики с АТС, не просто отключить его совсем, есть определенные исключения, которые могут быть использованы, чтобы минимизировать воздействие угроз безопасности только отключив некоторые части требований ОВД для конкретных областей. Обязательно сделайте это. Кроме того, поймите, что Apple планировала потребовать обоснования для многих исключений ATS в конце 2016 года, но в настоящее время она отложена. Если вы добавляете исключения, вы должны быть готовы к тому, что в какой-то момент, когда вы отправите приложение в App Store, вас попросит Apple по какой-либо причине. Вероятно, это не должно быть «потому что переполнение стека говорит мне отключить все ATS».
Исключение предоставляется для вашего приложения, а не для конкретной структуры. Просто добавьте его в Info.plist вашего приложения. – EmilioPelaez