Comments 21
Читая всю эту серию постов очень сильно задумываюсь, стоит ли начинать новый проект на свифте...
0
Swift сам по себе хорош, но многие системные вещи вгоняют в печаль. Пока они не будут исправлены, делать что-то серьезное — себе дороже. Как вспомню переход на Swift 3, так дурно становится. Мы у себя в компании приняли решение новые проекты делать снова на Obj-C.
0
Спасибо за статьи. Продолжайте в том же духе!
0
Спасибо за статью!
Кстати, в случае с Carthage файл может содержать кол-во входных файлов ( переменная $SCRIPT_INPUT_FILE_COUNT ), а скрипт проверять кол-во текущих входных файлов и сохраненное значение после clean & build.
Взял за основу ваш скрипт

Кстати, в случае с Carthage файл может содержать кол-во входных файлов ( переменная $SCRIPT_INPUT_FILE_COUNT ), а скрипт проверять кол-во текущих входных файлов и сохраненное значение после clean & build.
Взял за основу ваш скрипт
FILE="${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Carthage-Installation-Flag"
if [ -f "$FILE" ]; then
echo "!!!! $FILE"
while read -r line
do
if [ "$line" != "$SCRIPT_INPUT_FILE_COUNT" ]; then
echo "warning: count of Carthage files has changed. Make Clean & Build"
fi
done < "$FILE"
exit 0
fi
touch "$FILE"
echo -e $SCRIPT_INPUT_FILE_COUNT >> "$FILE"
/usr/local/bin/carthage copy-frameworks

0
Идея хороша. Только надо отталкиваться не от количества строк, а от Cartfile.resolved. Иначе что делать в случаях, если количество зависимостей осталось такое же? Или просто изменилась версия?
0
Согласен, тут нужен более точный анализ того какие зависимости были и какие стали. Чтобы уже наверняка предупреждать о необходимости очистить проект. Как вариант внутрь Carthage-Installation-Flag копировать Cartfile.resolved, а потом уже сравнивать. Если есть отличия — кидать warning.
0
Правильно ли я понимаю, в User Header Search Path нужно просто указать путь к директории/ям с ObjC?
0
Очень хотелось бы узнать, как побороть застревание на моменте «compiling swift source files». Интернет говорит, что нужно для этого править код, но проект уже по идее целиком сбилжен.
0
Уточните, что значит застревание? Зависает или долго выполняет просто шаг?
0
Застревает. Сейчас билд, после минимальных изменений занимает около минуты, хотя Build Time Analyzer показывает хорошие результаты. Билд без изменения кода занимает от 2 до 7 секунд, хотя раньше было секунд 40, до применения приемов из вашей статьи, за что отдельное спасибо.
0
Рекомендую открыть лог сборки и посмотреть, что происходит в момент зависания на шаге Compile Swift.


0
Еще, если минуту занимает после минимальных изменений, то проверьте, может быть включен SWIFT_WHOLE_MODULE_OPTIMIZATION на ряду убранным header maps.
0
Спасибо! Сэкономили мне пару часов жизни)
-1
Only those users with full accounts are able to leave comments. Log in, please.
Разгоняем сборку Swift проекта в Xcode