2014-09-26 2 views
1

У нас есть частное репо. Один из наших частных контейнеров имеет зависимость от другого внутреннего блока под названием CWFoundation (s.dependency 'CWFoundation', '~> 0.0.1'). Подсчет CWFoundation - это всего лишь способ использования CWFoundation от jayway (https://github.com/jayway/CWFoundation) в качестве стручка (так как для него нет файла podspec).Управление частным cocoapod с тем же именем общественного cocoapod

Все работало нормально, пока кто-то еще не создал новый проект в одноименном github, CWFoundation (https://github.com/guojiubo/CWFoundation) и добавил его к публичному репо из cocoapods.

Теперь наш внутренний блок, при разрешении зависимостей, вместо загрузки CWFoundation из нашего частного репозитория spec, загружает его из публичного репо и ничего не работает.

Я прочитал на cocoapods.org что

Если вы планируете разветвление библиотеки, которая уже является частью репо Master Spec, сейчас мы предлагаем выбрать имя, которое начинается с буквой перед М

Но мы следуем этому правилу, pod называется CWFoundation и начинается с 'C', и он не работает.

Что я могу сделать, чтобы получить наш частный файл podspec для CWFoundation?

ответ

3

Этот комментарий к «письму до M» относится к названию вашего частного репозитория speco в ~/.cocoapods/repos. Поскольку ~/.cocoapods/repos/master по умолчанию вы хотите что-то вроде ~/.cocoapods/repos/alpha, а не ~/.cocoapods/repos/zeta. Пока это правда, он должен использовать первую спецификацию, которую он найдет, которая будет вашей, до той, что была в репозитории master specs.

EDIT

Основываясь на комментариях к моему ответу это выглядит как ошибка в CocoaPods. Пожалуйста, submit an issue. Тем временем просто переименование вашего podspec устранит проблему.

+0

Наши частные спецификации repo называются GG-CocoaPods-Specs. Значит, он должен работать, не так ли? – Carlos

+0

Наша частная спецификация репо называется GG-CocoaPods-Specs в ~/.cocoapods/repos. Я попытался изменить имя репо на gg-CocoaPods-Specs, на всякий случай с заглавными или прописными буквами, но я получил то же самое. Я делаю pod install, и я все еще получаю CWFoundation (0.0.4), неправильный ... – Carlos

+0

Как выглядит ваша структура папок? –

0

Попробуйте это:

pod "NameConflictedPod", :source => MY_OWN_SPEC_REPOSITORY

Это работает для меня.

MY_OWN_SPEC_REPOSITORY - это URL-адрес git для вашего частного репо. Как мы знаем, официальные спецификации по умолчанию repo - https://github.com/CocoaPods/Specs.git.

Надеюсь, я описал MY_OWN_SPEC_REPOSITORY хорошо.

Смежные вопросы