У меня есть теория, но я не знаю, как ее проверить. У нас довольно большой проект iOS около 200 файлов Swift и 240 файлов obj-C (и одинаковое количество файлов заголовков). Мы все еще находимся на Swift 1.2, что означает, что довольно регулярно весь проект перестраивается.
Я заметил, что каждый .swift файл занимает около 4-6 секунд для компиляции; в других проектах это не более 2.
Теперь я заметил, что в выводе сборки предупреждения, сгенерированные в файлах заголовков, повторяются для каждого файла .swift, что заставляет меня поверить, что быстрый компилятор повторно проанализирует все заголовки, включенные в заголовок моста. Поскольку в заголовочном заголовке имеется ~ 160 операторов импорта, этот тип добавляет.
Итак, основные вопросы:
- Увеличивает ли размер нашего мостового заголовка время сборки?
- Есть ли способ оптимизировать это, поэтому он анализирует заголовки только один раз?
- Есть ли у этой версии проблемы Swift 2?
- Любые другие трюки, чтобы оптимизировать это? Кроме того, переписывая все в Swift, этот слишком трудоемкий проект для нас в настоящее время.