Pull to refresh

Comments 9

UFO just landed and posted this here

Судя по указанным путям, вы пытаетесь выполнить команды не в корневой папке демо-проекта.

Я уже молчу о том, что вы пытаетесь редактировать проект перед тем, как его сгенерировать (например, tuist edit НЕ работает с голым Project.swift файлом, нужно сначала выполнить tuist init)

Актуальные версии Tuist прекрасно работают с голым Project.swift, какую версию вы используете?

tuist init - это команда создания нового проекта, в статье мы мигрируем существующий и эта команда выдаст ошибку:

Can't initialize a project in the non-empty directory at path /Users/almaz/Development/TuistDemo.

Если мигрирует существующий проект, может пригодится xcdiff. Он позволяет сравнить имеющийся проект со сгенерированным, чтобы убедиться, что при миграции ничего не потерялось.

как же бесит подобный подход, когда конфиги проекта прибиты к IDE молотком и нужны инструменты, чтобы их увидеть и перенести... спасибо хоть файл проекта не бинарный!!

Что-то статья уже устарела, ибо есть SwiftPM, который встроен в Xcode.

Не совсем, Tuist - это как раз прокаченный Swift PM с тем же синтаксисом, но более богатой функциональностью для модуляризации.

Мы переехали с CocoaPods на Carthage вместе с переездом на Tuist.

Всех тонкостей, увы, не знаю, но для примера интеграции с CocoaPods закинул отдельную ветку в репу демо-проекта: https://github.com/almazrafi/TuistDemo/tree/cocoapods

Из того, что меняется относительно SPM-варианта:

  • Добавлен Podfile: в нем, кроме подов и таргетов, необходимо указать пути к проектам и воркспейсу.

  • В файлы xcconfig добавлены импорты файлов конфигурации CocoaPods. В реальном проекте скорее всего можно было иначе разрулить.

  • В зависимости таргета в манифестах Tuist добавлен путь к папке с Podfile (корневая папка): dependencies: [.cocoapods(path: .relativeToRoot("."))].

В остальном все так же, при чем команда tuist generate сама вызывает pod install.

Спасибо, пример из демо-проекта мне помог: я для сабмодулей делал таргеты, а не проекты, дефолтный пример Tuist сбил с правильного пути :-)

Sign up to leave a comment.