Skip to content

Dev tools

Den Ree edited this page Mar 25, 2017 · 49 revisions

📗 Установка инструментов:

❶ Установить Swiftlintbrew install swiftlint

❷ Установить Nataliebrew install natalie

❸ Установить Сarthagebrew install carthage

❹ Настроить Git

❺ Изучить Scripts

Работа со Swiftlint

Подробности читайте здесь

Работа с Natalie

Подробности читайте здесь

Для оптимизации мы используем вот этот скрипт

Работа с Carthage

  1. При первом запуске
  • Установить Сarthage
  • В папке с проектом выполнить команду carthage update --platform iOS
  1. Если хотите встроить свой фреймворк
  • В Cartfile добавить название библиотеки вида github "<github аккаунт>/<github репозиторий>"
    Пример: github "realm/realm-cocoa"
  • В папке с проектом выполнить команду carthage update --platform iOS
  • Добавить необходимые библиотеки в Xcode TARGETS -> Target -> General -> Linked Frameworks and Libraries из папки Сarthage/Build/iOS/
  • В Xcode TARGETS -> Target -> Build Phases -> Run Script Carthage -> Input files указать путь до фрейморка из папки $(SRCROOT)/Carthage/Build/iOS/
    Пример: $(SRCROOT)/Carthage/Build/iOS/RealmSwift.framework

Работа с Git

  1. Добавляем hook для обработки коммитов prepare-commit-msg hook для git commit

Обратите внимание, что если вы используете Github desktop, он добавляет папку hooks с примерами. Вам нужно ее почистить.

  1. Открываем терминал и прописываем команду для отображения скрытых файлов defaults write com.apple.finder AppleShowAllFiles YES; killall Finder
  • Переходим в папку ~/.git/ и создаем папку hooks
  • В нее вставляем файл prepare-commit-msg
  1. В основном используем Rebase для решения конфликтов, использовать Merge можно только:
  • Если ты собираешься мерджиться в дев (когда все готово и approved)
  • Тебе нужны какие-то важные изменения из develop
  1. По работе с git flow

Работа скриптов

Cкрипт для оптимизации Natalie

  • Суть в определении является ли проект "чистым" или была ли выполнена комбинация "cmd+shift+K"*
  • Проверка на очищенность
    • определяется по наличию/размеру CHMeetupApp.app
    • поиск файла осуществляется путем:

поиска папки проекта в рабочей папке Xcode/DerivedData, и в ней в подпапке Builds/Products берется первая папка из списка отсортированных по убыванию, а в ней ищется CHMeetupApp.app

if [ -e $CLEAN_CHECK ]; then Проверка наличия файла

`isClean="$(bash $CLEAN_CHECK)"`  Запуск проверочного файла

`echo "isClean: $isClean"`

`if [ $isClean -eq 0 ]; then # not clean`  Проходим дальше

    `exit`

`fi`

else

`echo Scripts/clean_check.sh not found`

fi

echo "Natalie Generator: Determining if generated Swift file is up-to-date."

➔ Выполняем скрипт Natalie

Clone this wiki locally