Слишком длинная сборка Swift, возможно, из-за включения файлов заголовков в каждый файл при сборке.

В моем проекте используется коммерческий сервис Amazon. У него есть файл заголовка с именем CommonTypes.h. Этот файл импортирует около 130 других файлов заголовков. В Bridging-Header.h файле моего приложения я включаю CommonTypes.h рядом с другими библиотеками.

Когда приложение строится, я вижу, что на создание быстрого файла уходит слишком много времени, около 5-7 секунд. Предположим, мой проект содержит 500 быстрых файлов, восстановление занимает около 50 минут.

Журнал, который я вижу, когда строится проект:

CompileSwift normal armv7 /Users/admin/xxxx/ViewControllers/ModallyPresentedViewController/CustomModalPresentationController.swift
cd /Users/admin/xxxx

/Users/admin/xxxx/Bridging-Header.h:24:9: note: in file included from     /Users/admin/xxxx/Bridging-Header.h:24:
/Users/admin/xxxx/xxx/Libs/pico/awsecommerceservice/_2011_08_01/common/CommonTypes.h:90:9: note: in file included from /Users/admin/xxxx/Libs/pico/awsecommerceservice/_2011_08_01/common/CommonTypes.h:90:

CompileSwift normal armv7     /Users/admin/xxxx/ViewControllers/ModallyPresentedViewController/Wrapper.swift
cd /Users/admin/xxxx

/Users/admin/xxxx/Bridging-Header.h:24:9: note: in file included from     /Users/admin/xxxx/Bridging-Header.h:24:
/Users/admin/xxxx/xxx/Libs/pico/awsecommerceservice/_2011_08_01/common/CommonTypes.h:90:9: note: in file included from /Users/admin/xxxx/Libs/pico/awsecommerceservice/_2011_08_01/common/CommonTypes.h:90:

Я предполагаю, что сборщику требуется так много времени, потому что он импортирует эти файлы заголовков при сборке каждого файла.

Кто-нибудь знает, как заставить эти библиотеки строиться только один раз?


person t4nhpt    schedule 19.10.2016    source источник
comment
Возможно, вы захотите обновить оперативную память, если она составляет 8 ГБ :) Это не шутка! Я почти столкнулся с теми же проблемами на своем Mac Pro, после обновления ОЗУ до 16 ГБ я увидел настоящие изменения. Раньше пару лет xcode работал отлично, но для xcode 7 и выше мне пришлось сделать апгрейд.   -  person Ahmad F    schedule 19.10.2016
comment
Мой macbook - Macbook pro, середина 2015 года, corei7 (2.2), 16 ГБ ОЗУ: D   -  person t4nhpt    schedule 19.10.2016
comment
ржу не могу! поэтому вы можете проверить это, this и это   -  person Ahmad F    schedule 19.10.2016