Ускорение сборки проекта с CocoaPods

build
xcode
cocoapods

#1

При каждой сборке проекта, поды копируются в проект заново и инкрементальная сборка не работает должным образом, что сказывается на времени сборки проекта.

Для того, чтобы поды не копировались каждый раз, нужно модифицировать файл Podfile, добавив в самый его конец:

post_install do |installer|
  Dir.glob(installer.sandbox.target_support_files_root + "Pods-*/*.sh").each do |script|
    flag_name = File.basename(script, ".sh") + "-Installation-Flag"
    folder = "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}"
    file = File.join(folder, flag_name)
    content = File.read(script)
    content.gsub!(/set -e/, "set -e\nKG_FILE=\"#{file}\"\nif [ -f \"$KG_FILE\" ]; then exit 0; fi\nmkdir -p \"#{folder}\"\ntouch \"$KG_FILE\"")
    File.write(script, content)
  end
end

Этот скрипт создаст фантомный файл-флаг в таргетах подов. При его наличии, копирование подов не производится каждый раз.

Далее:

Cmd + Shift + K

pod install

Все. По ощущениям время сборки сократилось с 50 сек до 5-10 сек


#2

Интересненько! (20 символов тоже нужно отписать)