Настройка CocoaPods
OSA Proxy поддерживает CocoaPods CDN, сканирование .podspec.json и проверку скачиваемых архивов для источников типа source.http.
Настройка OSA Proxy
dl.google.com в примере — только один из возможных hosts, а не полный список для cdn.cocoapods.org. CocoaPods CDN хранит podspec-метаданные, но адрес артефакта задаёт автор каждого pod в поле source. Поэтому фиксированного или исчерпывающего списка artifact hosts не существует, и со временем он может меняться.
В additional-packages-registries укажите соответствие host и upstream URL для всех source.http, которые используются разрешёнными в вашей организации pods. Например, для URL https://example.com/releases/SDK.zip добавьте example.com: https://example.com. OSA Proxy переписывает через маршрут пакетного сканирования только source.http с перечисленных hosts. Источники git, svn и hg, а также неизвестные hosts остаются прямыми клиентскими загрузками.
Если host отсутствует в additional-packages-registries, CocoaPods скачает артефакт напрямую, и scan-package: true в OSA Proxy не проверит этот файл. Формируйте список по podspec используемых зависимостей и обновляйте его при добавлении новых pods или версий.
Подключение CocoaPods
Укажите маршрут OSA Proxy как CDN source в Podfile:
Затем выполните обычную установку:
Поведение блокировки
Служебные CDN-индексы CocoaPods-version.yml, all_pods.txt и all_pods_versions_*.txt проходят через OSA Proxy без сканирования и изменения. Проверка манифеста выполняется при запросе конкретного .podspec.json.
Если версия заблокирована политикой CodeScoring, OSA Proxy блокирует выдачу её .podspec.json целиком. CocoaPods не предоставляет совместимого поля, которым можно пометить версию как запрещённую и оставить её доступной для клиента. Поэтому параметр remove-blocked-versions для CocoaPods не поддерживается, в том числе режим false.
Если podspec разрешён и содержит source.http с host из additional-packages-registries, OSA Proxy переписывает ссылку через себя. При scan-package: true архив проверяется до передачи CocoaPods.
