在为 vendored_framework
创建 CocoaPod Podspec 时,我需要安装一个 shell 脚本,以便在主项目中的所有其他 build_phases
之后运行。我发现这样做的唯一方法是从 Podfile
中摸索 .xcodeproj
文件的目录。
post_install do |installer|
project_name = Dir.glob("*.xcodeproj").first
project = Xcodeproj::Project.open(project_name)
project.targets.each do |target|
inject_shell_script_build_phase(target)
end
project.save
end
考虑到 pod install
或 pod update
正在运行并且显然已经有了这些信息,这似乎很荒谬。有没有一种方法可以直接获取 project
引用,而不必对项目文件名进行 glob 或硬编码?
最佳答案
这应该可以解决问题...注意 post_integrate
Hook 。否则我的更改会被覆盖(忽略?),除非我通过直接打开文件来完成。
post_integrate do |installer|
project = installer.aggregate_targets[0].user_project
project.targets.each do |target|
inject_shell_script_build_phase(target)
end
project.save
end
关于ruby - Cocoapod安装后直接获取主工程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52628354/