Как мне настроить Carthage для использования моих собственных фреймворков, находящихся в частном репозитории, таком как Stash (Bitbucket)?

Мне было интересно, есть ли что-то вроде частных модулей в Carthage, у меня есть пара фреймворков, и в настоящее время я использую git submodules, я начал использовать Carthage для нового проекта, и это довольно неплохо, но пока я просто настроил его для управления зависимостями сторонних фреймворков. Я проверил документацию по carthage, но не совсем понимаю, как его настроить. Carthage работает только с Github репозиториями? Может ли он работать с Atlassian-Stash (сейчас Bitbucket)? Если да, то как?


person Black Sheep    schedule 08.12.2015    source источник


Ответы (3)


Итак, я наконец узнал, как настроить Карфаген с помощью Atlassian-Bitbucket

на Cartfile i Просто нужно определить источник зависимости, который является репозиторием git

Корпоративный репозиторий git, например Atlassian-Stash(Bitbucket)

git "https://stashRepo" 

он также работает с ssh://

Или локальный проект

git "file:///directory/to/project" "branch"  

ОБНОВЛЕНИЕ

Карфаген добавил дополнительную документацию о том, как OGDL работает в Cartfile < / а>

person Black Sheep    schedule 08.12.2015
comment
git файл: /// каталог / в / ветку проекта - person harshit2811; 14.02.2017
comment
Вы также должны совершить фиксацию в своем местном филиале. Незакрепленные изменения не будут построены. - person Mike Taverne; 09.11.2019

Решения для Карфагенской платформы развития

Для кодирования фреймворка способом, аналогичным разработке с использованием модулей разработки CocoaPods, существуют решения, готовые к использованию с Carthage.

Решение 1 - Путь локального пути

Это решение намного удобнее, чем альтернативных решений .

Шаг 1. Добавьте локальный путь в Cartfile

Например,

Добавить локальный путь в Cartfile

git "PATH_TO_LOCAL_DEVELOPING_FRAMEWORK_SOURCE_ROOT_DIRECTORY" "BRANCH_NAME"

Шаг 2. Обновите зависимость Carthage

Например,

Обновите зависимость Carthage с помощью Cartfile

$ carthage update $DEVELOPING_FRAMEWORK_NAME --platform iOS --cache-builds --configuration Debug

Чтобы выполнить отладку с помощью точек останова или разработать платформу в основном проекте, добавьте ссылку на проект разработки инфраструктуры $(DEVELOPING_FRAMEWORK).xcodeproj в основное приложение и создайте основное приложение в Xcode.

Осторожно

Удалите накладные расходы на разработку (например, изменения в $(MAIN_APP_NAME).xcodeproj/project.pbxproj из-за добавления ссылки на проект разработки фреймворка) перед фиксацией изменений в удаленном репо.

Решение 2. Способ символического связывания

Протестированная среда

  • Xcode 10.1
  • macOS 10.13.6
person George    schedule 12.02.2019

Исходное местоположение файла корзины

[Диспетчер зависимостей]

github - репозиторий GitHub

github "<owner>/<repo>" //GitHub.com
github "https://<path>" //GitHub Enterprise Server

git - репозиторий Git

git "https://<path>" //remote
git "ssh://<command>" //ssh connection
git "file:///<path>" "<branch_name>" //local

binary - предварительно скомпилированный двоичный файл

binary "https://<path>.json" //remote
binary "file:///<path>.json" //local

Обратите внимание, что file:/ используется для локальных файлов, что полезно для разработки / отладки зависимостей. Не забудьте зафиксировать изменения перед использованием git

[Local CocoaPods] [Локальный SPM]

person yoAlex5    schedule 23.04.2020