Крюк в Podfile для редактирования файла моего проекта
Я хочу исправить ошибку Cocoapods, когда она добавляет Embed Pods Frameworks
фаза сборки для целей расширения. Эти фазы там не нужны.
https://github.com/CocoaPods/CocoaPods/issues/4203
Я написал скрипт для его удаления
puts "Deleting not needed phases…"
project_path = "Keyboard.xcodeproj"
project = Xcodeproj::Project.open(project_path)
project.targets.each do |target|
if target.name.include?("Extension")
phase = target.shell_script_build_phases.find { |bp| bp.name == 'Embed Pods Frameworks' }
if !phase.nil?
puts "Deleting Embed Pods Frameworks phase…"
target.build_phases.delete(phase)
end
end
end
project.save
Я могу запустить этот скрипт после pod install
вручную, но я хочу как-то добавить его в Podfile. Это не работает в post_install
крюк
post_install do |installer|
...
end
так как UserProjectIntegrator.integrate!
называется после post_install
и это отменяет мои изменения.
Есть ли способ интегрировать этот скрипт в Podfile?
2 ответа
Краткий ответ: нет.
Длинный ответ:
Из вывода pod install --verbose
фаза сборки Embed Pods Frameworks
добавляется в Integrating client project
который запускается после шага post_install в Podfile. Вот почему вы должны выполнить этот скрипт отдельно после завершения установки модуля.
Мне удалось решить ту же проблему, используя хук post_integrate.
post_integrate do |installer|
# your changes to the build phase
end