挂钩Podfile以编辑我的项目文件

时间:2015-11-21 17:24:26

标签: cocoapods xcodeproj

我想修复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 hook

中不起作用
post_install do |installer|
    ...
end

因为在UserProjectIntegrator.integrate!之后调用post_install并且它会覆盖我的更改。

有没有办法在Podfile中集成这个脚本?

1 个答案:

答案 0 :(得分:1)

简短的回答是否 答案很长:
pod install --verbose的输出中,构建阶段Embed Pods Frameworks添加在Integrating client project中,该{{1}}在Podfile中的post_install步骤之后运行。 这就是您应该在pod安装完成后单独执行此脚本的原因。