【问题标题】:Edit Xcode xcconfig file and Cocoapods编辑 Xcode xcconfig 文件和 Cocoapods
【发布时间】:2014-06-16 04:17:36
【问题描述】:

我想编辑 xcconfig 文件,但不幸的是 Xcode 只允许每个配置 1 个 xcconfig 文件,即 Pods.xcconfig 因为我正在使用Cocoapods

那么我怎样才能在不伤害 Cocoapods 的情况下编辑 xcconfig

我能想到几种方法

  1. 让 Xcode 使用多个 xcconfig 文件
  2. 使用我自己的包含 Pods.xcconfig 文件的 xcconfig 文件

那么如何处理呢?

【问题讨论】:

  • cocoapods 配置文件不是在项目级别吗?如果是这样,那只是您的目标级别。
  • @trojanfoe 按目标级别,您的意思是转到目标构建设置面板并手动指定设置?我不想那样
  • 你不想这样吗?这是为什么呢?
  • @trojanfoe 我怕合并冲突,所以使用 xcconfig 我不必手动进入构建设置面板
  • @trojanfoe 在pod install 命令期间 Pods.xcconfig 自动放置在目标配置中。如果您更改它 - 您还应该在每个 pod 更新后手动更改它。那么,如何避免它的问题。

标签: ios xcode cocoapods xcconfig


【解决方案1】:

现在(XCode 9.x、CocoaPods 1.4.0)您只需添加

#include "Pods/Target Support Files/Pods-MyApp/Pods-Pods-MyApp.debug.xcconfig"

到您的自定义 xcconfig。 pod install 会抱怨,但会自动做正确的事(什么都不做);它甚至会告诉我们完全按照上述操作。


不再需要阻止集成(这也会使我们没有工作空间)。 FWIW,选项--no-integrate 不再存在;如果我们想要它,我们会将:integrate_targets => false 作为选项添加到 Podfile 中的install!。

【讨论】:

  • 其实这似乎是不必要的:如果你为project设置了自己的xcconfig文件,而为每个target保留了CocoaPods的xcconfig,然后两个配置文件都被使用了,一切都很好。
  • @Yonat 听起来很合理。我的用例(上面没有说明)是使用 SwiftPM 生成的 XC 项目以自动方式使用 pod;我真的不想手动触摸项目或工作区。而且因为我可以告诉 SwiftPM 只能“使用这个配置!”没有更多细节,我认为没有运气。
  • @KarenAnne 我不再在 Mac 上工作/使用 Mac 了(谢天谢地!)所以我无法检查。我建议你打开一个新问题。祝你好运!
【解决方案2】:

这是CocoaPods Tracker 中的一个问题。 此处描述了一种解决方法:#1736。

正如 kylef(CocoaPods 存储库的所有者)所说:

手动解决方法:使用 pod install --no-integrate,然后从您的自定义 xcconfig 文件中添加 #include "Pods/Pods-GCE.xcconfig"。

我不认为有一个明确的解决方案可以自动修复它,但如果可可豆荚检测到这一点并告诉用户可能会很好。我花了一段时间才弄清楚在我执行 pod install 之后发生了什么,并且项目 xcconfig 文件没有被包含在内。

【讨论】:

  • 这几乎成功了,但似乎 CococaPods 已经改变了。我不得不#include "Pods/Target Support Files/Pods/Pods.debug.xcconfig" 而不是 GCE 路径。同样,在我的AppName.release.xcconfig 中,我做了#include "Pods/Target Support Files/Pods/Pods.release.xcconfig"。
  • 此答案已过时,必须避免,请查看 Raphael 的答案以获得更准确的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-10
  • 2011-09-06
  • 2016-04-27
  • 2015-05-28
相关资源
最近更新 更多