project-template-ios/README.md

125 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# project-template-ios
## Разворачивание нового проекта
### Шаг 1. Настройка конфигурации.
- Создать в аккаунтах разработчика AppID с имененем проекта в нижнем регистре. При генерации проекта создаются 4 базовых конфигурации:
- StandardDebug, StandardRelease - для них использовать префикс `ru.touchin. + ИМЯ_ПРОЕКТ_В_НИЖНЕМ_РЕГИСТРЕ`. Аккаунт `apple@touchin.ru`
- EnterpriseDebug, EnterpriseRelease - для них использовать префикс `com.touchin. + ИМЯ_ПРОЕКТ_В_НИЖНЕМ_РЕГИСТРЕ`. Аккаунт `enterpriseapple@touchin.ru`
- Создать `*.mobileprovision` для разработки (в случае Standard) и для развертывания (в случае Enterprise)
- Убедиться, что для проекта созданы необходимые репозитории (`ios` и `common`)
### Шаг 2. Настройка окружения
*Необходимо поставить ruby версии 2.4.0 и выше!*
Необходимо убедиться, что на вашей локальной машине стоит ruby version 2.4+. Это можно сделать командой
```
ruby -v
```
Если версия меньше, то в консоли необходимо выполнить следующие команды
```sh
xcode-select --install
```
```sh
\curl -sSL https://get.rvm.io | bash -s stable --ruby
```
После этого закройте терминал и откройте заново.
Убедитесь, что версия ruby стала 2.4+. Если не сработало, то выполните команду
```
rvm use ruby-2.4.0
```
- Установить сборщик зависимостей через команду
```sh
gem install bundle
```
### Шаг 3. Запуск скрипта развертки проекта
Очень важно **НЕ ПЕРЕПУТАТЬ!!!** порядок параметров.
```sh
./bootstrap.sh ПАРАМЕТР_1 ПАРАМЕТР_2 ПАРАМЕТР_3
```
Параметры:
- ПАРАМЕТР_1 = Родительская папка для расположения проекта, в ней будет создана папка проекта.
- ПАРАМЕТР_2 = Имя проекта. Папка проекта будет создана с постфиксом `-ios`.
> Пример: если ПАРАМЕТР_2 называется `Bank`, то папка проекта будет называться `Bank-ios`. Уже внутри папки проекта уже будут находится остальные файлы. Пример
```sh
├── Bank
│   ├── Analytics
│   ├── AppDelegate.swift
│   ├── Cells
│   ├── Controllers
│   ├── Extensions
│   ├── Generated
│   │   └── models.swift
│   ├── Info.plist
│   ├── Models
│   ├── Networking
│   ├── Protocols
│   ├── Realm
│   ├── Resources
│   │   ├── Assets.xcassets
│   │   │   └── AppIcon.appiconset
│   │   │   └── Contents.json
│   │   ├── LaunchScreen.storyboard
│   │   └── Localization
│   │   ├── Base.lproj
│   │   │   └── Localizable.strings
│   │   ├── String+Localization.swift
│   │   └── ru.lproj
│   │   └── Localizable.strings
│   ├── Services
│   │   ├── BankDateFormattingService.swift
│   │   ├── BankNumberFormattingService.swift
│   │   └── NavigationService.swift
│   └── Views
├── Bank.xcodeproj
├── Bank.xcworkspace
├── Downloads
├── Podfile
├── Podfile.lock
├── Pods
├── README.md
├── Rambafile
├── build-scripts
├── common
├── cpd-output.xml
└── fastlane
└── Fastfile
```
- ПАРАМЕТР_3 (Опициональный) = Название репозитория с общими строками, без указания расширения `.git` и названия компании. Пример: `Bank-Common`, `Bank2-Common`. Если не указывать параметр, то будет использоваться имя проекта с постфиксом `-common`. Пример скрипта
```sh
igorkislyuk$ ./bootstrap.sh ~/Documents/projects/ Bank BankSpbJur-common
```
### Шаг 4. После установки:
- Используя сгенерированные провижены, выставить их для каждой конфигурации.
- *Опционально* при необходимости добавить конфигурации вручную.
- Открыть `Manage schemes` и выбрать корневую схему проекта. В графе "Container" выбрать workspace, а в графе "Shared" поставить напротив данной схемы галочку.
- Отркыть `Edit scheme`, и проставить необходимые build-configuration для действий (run, build, profile).
- В папке `common` cоздать папку `strings` (если такого еще нет), и в ней пустой файл `default_common_strings_ru.json` (или любая другая локализация, которая по-умолчанию используется на проекте).
- Настроить fabric (подробнее можно посмотреть [тут](https://github.com/TouchInstinct/Styleguide/blob/master/IOS/Guides/Fabric_Guide.md)).
- Собрать проект, убедиться, что все ок.
- Добавить сгенерированные файлы других локазаций `Localizable.string`, которые находятся в папках (например, `ru.lproj`) в файл проекта через **Add files to...**.
- Закоммитить и запушить все изменения в git. Создать PR из текущей ветки в `master`.