ruby - Cocoapod安装后直接获取主工程

标签 ruby cocoapods

在为 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 installpod 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/

相关文章:

ruby-on-rails - Ruby:将 sqlite 命令转换为 postgres 命令

ruby-on-rails - Rails 嵌套属性 - 如何将类别属性添加到新产品?

objective-c - 如何在我的 Swift 程序中使用来自 Github 的 Objective-C 代码?

cocoapods - 项目 'Pods' 作为 'Pods.framework' 的隐式依赖项被拒绝,因为其架构不包含所有必需的架构

ruby - Ruby 中的只读数组

ruby-on-rails - Ruby 将字符串和整数放在同一行

ruby-on-rails - 这个 Ruby 函数在做什么?

Kotlin MPP pod 集成失败

ios - 将 Objective-C 框架 (CocoaPod) 导入 Swift?

ios - Cocoapods 错误 : 'Unable to read the license file'