Прежде всего, нам нужно время компиляции меры. Это важно, потому что, прежде чем вы увидите время компиляции, вы не сможете понять, что не так и что вам нужно изменить.
Для отображения вы должны включить таймер компиляции. Откройте командную строку, вставьте следующую строку кода и нажмите ввод.
defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES
А затем создайте проект, вы должны увидеть снимок экрана ниже. Возможно, вам нужно очистить проект (cmd + option + k) или удалить папку с производными данными проекта, чтобы измерить время сборки.
rm -rf ~/Library/Developer/Xcode/DerivedData

2- Найдите код, который медленно компилируется
если вы подозреваете свой метод или выражение, вы можете определить это, немного изменив в Xcode
Откройте настройки сборки проекта и добавьте следующие флаги в свой Other Swift Flags. Как на следующем скриншоте.

-Xfrontend -warn-long-function-bodies=<millisecond>-Xfrontend -warn-long-expression-type-checking=<millisecond>
Первая строка показывает функцию того, сколько времени это займет.
Вторая строка показывает, сколько времени это займет.
Когда вы строите проект, вы можете видеть время предупреждения в журнале сборки Xcode. А затем вы можете исправить или реорганизовать эту функцию или выражения.

3- Настройка только активной архитектуры сборки
В разделе «Параметры сборки» своего проекта найдите «Только сборка активной архитектуры».
Когда вы запускаете свой проект в режиме отладки, вы должны «строить только активную архитектуру», для которого должно быть установлено «ДА». Если выбран режим спуска, необходимо установить значение «НЕТ».

4- Генерация кода (уровень оптимизации, режим компиляции)
Apple недавно представила «режим компиляции» и «уровень оптимизации», которые дают нам больше контроля над изменением механизма компилятора над сборками.
Параметр сборки «Уровень оптимизации» может быть установлен на «Без оптимизации» для отладочных сборок, а для сборок выпуска может быть установлен на «Оптимизировать для скорости».
В Xcode 10 для проверки размера кода можно использовать «Оптимизировать по размеру».


5- Xcode имеет новую систему сборки
В Xcode 9 Apple представила новую систему сборки, полностью написанную на Swift. По умолчанию выбрана «новая система сборки».

6- Управляемые и доступные зависимости
Реорганизуйте свою зависимость и стороннюю структуру. Увеличьте легкий доступ к вашей зависимости.
Если вы используете несколько модулей для нескольких целей, вы можете организовать зависимости, как показано ниже.
def shared_pods pod ‘ModellingSDK’, ‘1.7.0’ pod ‘NetworkingSDK’ end def sdk_pods source ‘https://github.com/CocoaPods/Specs.git' source ‘https://bitbucket.org/somesdk/somesdk.git' pod ‘Fabric’ pod ‘Crashlytics’ end target ‘mainTarget’ do platform :ios, ‘9.0’ shared_pods sdk_pods end target ‘extensionTarget‘ do platform :ios, ‘10.3‘ shared_pods end
Используйте дополнительную стратегию кэширования для управления зависимостями, чтобы ускорить сборку. Добавьте неявные зависимости вместо явных. Выберите систему управления зависимостями, которая должна соответствовать вашим потребностям. (Коко-моллюски, Карфаген).
Если у вас есть критика, вопрос или предложение, не стесняйтесь размещать их в разделе комментариев ниже!
Спасибо за прочтение.
P.S .: и если вам понравилась моя статья, не забудьте аплодировать 👏
Следуйте за мной в Twitter и Linkedin
Несколько проектов с открытым исходным кодом, которые я создал.