我希望编辑 xcconfig 文件,但不幸的是,因为我正在使用 Cocoapods
,Xcode 每个配置只允许有一个 xcconfig 文件,而且这个文件是 Pods.xcconfig
那么如何在不影响Cocoapods的情况下编辑 xcconfig 呢?
我能想到以下几种方式:
- 让 Xcode 使用多个 xcconfig 文件
- 使用自己的 xcconfig 文件并包含 Pods.xcconfig 文件
那么我们该怎么做呢?
现今(XCode 9.x,CocoaPods 1.4.0),您只需添加以下内容:
#include "Pods/Target Support Files/Pods-MyApp/Pods-Pods-MyApp.debug.xcconfig"
将内容添加到您的自定义xcconfig文件中。 pod install
会发出警告,但会自动采取正确的操作(即什么都不做); 它甚至会告诉我们要做上述的事情。
现在不再需要防止集成(这也会使我们没有工作区)。顺便说一句,选项--no-integrate
已经不存在了;如果我们需要它,我们将在Podfile中添加:integrate_targets => false
作为选项来使用install!
。
这里有一个与 CocoaPods Tracker 相关的问题。
这里描述了一种解决方法: #1736。
正如 CocoaPods 仓库的所有者 kylef 所提到的:
手动解决方案: 使用
pod install --no-integrate
,然后从您的自定义 xcconfig 文件中添加#include "Pods/Pods-GCE.xcconfig"
。我认为没有明确的解决方案可以自动修复它,但也许如果 CocoaPods 检测到这个问题并告诉用户会很好。在我执行了
pod install
并且项目的 xcconfig 文件没有被包含之后,花了我一段时间才弄清楚发生了什么。
#include "Pods/Target Support Files/Pods/Pods.debug.xcconfig"
而不是GCE路径。同样,在我的AppName.release.xcconfig
中,我使用了#include "Pods/Target Support Files/Pods/Pods.release.xcconfig"
。 - Collin Allen
pod install
命令期间,Pods.xcconfig 文件会自动放置在目标配置中。如果您更改了此设置,则每次更新 Pods 后都需要手动更改。因此,问题是如何避免这种情况。 - skywinder