Я написал большую серию с нуля о «Создание iOS фреймворка с CocoaPods, Carthage, поддержкой SPM и Travis для запуска тестирования и Fastlane для автоматизации выпуска» на Medium. Надеюсь, это поможет.
Создать среду Swift очень просто, но добавление поддержки CocoaPods, Carthage и Swift Package Manager одновременно может показаться пугающим с самого начала. В дополнение к этому добавление Travis для запуска test для всех коммитов и добавление Fastlane для автоматизации процессов релиза для всех менеджеров зависимостей выглядит ужасно mov ie. Но не бойся. После того, как вы закончили эту серию, вы можете легко создать свои собственные фреймворки Swift, использующие все эти инструменты, чтобы сделать его идеальным!
Часть 1 - Создайте CocoaPod и выпустите его. : Вы создаст ваш собственный CocoaPod и выпустит его.
Часть 2. Добавление поддержки Carthage : ваш CocoaPod, созданный и выпущенный в части 1, будет установлен через Carthage.
Часть 3. Добавление поддержки диспетчера пакетов Swift : ваш CocoaPod, созданный и выпущенный в части 1, будет установлен через диспетчер пакетов Swift.
Часть 4. Интеграция Travis для создания примера проектирование и запуск тестов для фреймворка : ваш фреймворк, который можно установить с помощью CocoaPods, Carthage и Swift Package Manager, автоматически запускает тесты на Travis для каждого pu sh на GitHub.
Часть 5 - Интегрируйте Fastlane для автоматизации процессов выпуска, выполнив всего одну командную строку. :
Каждый раз, когда вы хотите выпустить новую версию ваш фреймворк через CocoaPods, Carthage и Swift Package Manager, вам нужно go выполнить следующие шаги:
1- Внести изменения для новой версии
2- Запустить тесты, чтобы убедиться, что они работают
3- Зафиксируйте изменения pu sh для новой версии.
4- Пометьте новую версию на git
git tag 0.1.1
git push origin 0.1.1
Carthage и Swift Package Manager установят ваш рамки от GitHub. Если вы правильно настроили свой фреймворк, после этого шага его можно установить через Carthage или Swift Package Manager. Однако у CocoaPods есть еще 4 шага для завершения процессов выпуска.
5 - Увеличить podspe c version => iesversion = '0.1.1'
6- Проверить локальный podspe c:
pod lib lint ODCustomFramework.podspec
7- Подтвердить модуль для выпуска
pod spec lint ODCustomFramework.podspec
8- Выпуск
pod trunk push ODCustomFramework.podspec
После интеграции Travis и Fastlane, шаги 2, 4, 5, 6 , 7 и 8 автоматизированы, и эти шаги больше не нужно повторять каждый раз, когда вы хотите выпустить новую версию.
1- Внести изменения для новой версии
2- Commit и pu sh изменения для новой версии.
3- Travis запускает тесты автоматически после каждого pu sh.
4- Запустите следующую команду fastlane, чтобы автоматизировать все процессы выпуска. (шаг 4, 5, 6, 7, 8)
exec fastlane major | minor | patch