Описание тега nsurlprotocol
NSURLProtocol доступен в iOS 2.0 и новее с iOS и доступен в OS X v10.2 с установленным Safari 1.0, доступен в OS X v10.2.7 и новее с OSX.
Объект NSURLProtocol обрабатывает загрузку специфичных для протокола данных URL. Сам класс NSURLProtocol представляет собой абстрактный класс, который предоставляет инфраструктуру для обработки URL-адресов с определенной схемой URL-адресов. Вы создаете подклассы для любых настраиваемых протоколов или схем URL-адресов, которые поддерживает ваше приложение.
Приложениям никогда не нужно создавать экземпляры подкласса NSURLProtocol напрямую. Когда начинается загрузка, система создает соответствующий объект протокола для обработки соответствующего запроса URL. Все, что вам нужно сделать, это определить свой класс протокола и вызвать метод registerClass: class во время запуска вашего приложения, чтобы система знала о вашем протоколе.
Источник: Справочник по классам NSURLProtocol
НОТА
You cannot use this class to define custom URL schemes and protocols in watchOS 2 and later.