Починаючи з iOS 9, Apple включила для всіх додатків функцію App Transport Security (ATS), яка покликана стежити, щоб вся комунікація по мережі між додатком і бекендом відбувалася за захищеними каналами зв'язку (з використанням захищених протоколів типу HTTPS). Все це зроблено для забезпечення безпеки користувачів і щоб підштовхнути розробників до використання шифрування трафіку, особливо при передачі паролів і персональних даних.
Однак, на початковому етапі розробки дана функція скоріше заважає. До того ж, іноді може знадобиться завантажити що-небудь по використовуючи звичайний HTTP. Але, при спробі це зробити ви побачите наступне повідомлення в консолі:
Тут вам повідомляється, що ATS заблокував завантаження ресурсу через відкритий протокол HTTP. Тимчасове виключення може бути налаштоване в файлі Info.plist.
Зауважу, що є два способи обійти це попередження. У Info.plist можна вирішити будь-які небезпечні сполуки, або додати в виключення тільки деякі домени. Дозвіл всіх з'єднань є поганим тоном і підвищує ризик нарватися на вразливість вашої програми. Робіть це на свій страх і ризик. Проте, я покажу обидва способи.
Відкрийте Info.plist і клацніть правою кнопкою над будь-яким полем в ньому.
З'явиться контекстне меню, в якому потрібно вибрати "Add Row".
Далі, ви випадаючому списку виберіть "App Transport Security Settings".
Розкрийте з'явилася рядок, натиснувши на стрілочку.
Клацніть на "+", щоб додати новий ключ.
Вам на вибір нададуть два варіанти: "Allow Arbitrary Loads" і "Exception Domains" - "Дозволити довільні завантаження" і "Домени виключення" відповідно.
Ви можете вибрати потрібний вам варіант. У випадку з дозволом довільних завантажень ключі потрібно встановити в YES.