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

最佳答案

最简洁的答案是不。
长答案:
pod install --verbose 的输出中,构建阶段 Embed Pods Frameworks 添加到 Integrating client project 中,该代码在 Podfile 中的 post_install 步骤之后运行。
这就是为什么你应该在 pod install 完成运行后单独执行这个脚本。

关于cocoapods - Hook Podfile 以编辑我的项目文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33846361/

10-12 01:48