![](/img/trans.png)
[英]Custom Xcode Build Configurations with Custom Frameworks and Cocoapods
[英]How to add custom project configurations to Xcode when using CocoaPods?
我有一个 iOS\/OS X Xcode 项目,我在其中使用 CocoaPods,我似乎无法弄清楚如何在不完全破坏构建的情况下添加我自己的项目配置(除了调试和发布)。
在该项目中,我有许多目标,用于两个平台上的应用程序及其应用程序扩展。 Xcode 工作区当然也有 Pods 项目。
因为该项目为 iOS 和 Mac 构建目标,所以我使用 CocoaPods“目标”将它们的 pod 组合在一起。 我的 Podfile 看起来像这样:
source 'https://github.com/CocoaPods/Specs.git'
target :iOS do
platform :ios, '7.1'
link_with 'iOS', 'NozbeToday', 'NozbeShare', 'NozbeWatch'
# pods...
end
target :Mac do
platform :osx, '10.9'
link_with 'Mac'
# pods...
end
好的,所以写这个问题的一半我自己想通了(是的橡皮鸭)。 这是下一代的解决方案:
本质上,您必须向应用程序方案添加对 Pods 目标的显式依赖。
您这样做的方式是:编辑您的应用程序方案,转到构建部分,然后在您的应用程序目标上方添加 Pods 目标。 您应该会看到如下内容:
它会起作用。
至于pod install
上的 CocoaPods 警告,您需要为每个 Xcode 配置使用 CP 生成的xcconfig
文件。 你这样做的方式是:
Pods/Target Support Files
找到 .xcconfig 文件你还需要在你的 Podfile 中这样的东西让 CocoaPods 知道你的 Xcode 配置中哪些是“调试”(未优化),哪些是“发布”:
project '1Nozbe', {
'iOS 1 Dev Debug' => :debug,
'iOS 2 Dev AdHoc' => :release,
'iOS 3 Release Debug' => :debug,
'iOS 4 Release AdHoc' => :release,
'iOS 5 Release AppStore' => :release,
}
与 CocoaPods 不完全相关,但如果您碰巧有除 CP 之外的其他(子项目)依赖项,您还需要做两件事:
在您的配置文件中添加这一行,就像导入头文件一样:
#include "Pods/Target Support Files/Pods/Pods.debug.xcconfig"
注意:它是#include
,而不是#import
无需向任何架构添加显式依赖项或拖放内容的另一种解决方案:
使用 CocoaPods 时如何向 Xcode 添加自定义项目配置
通常,当您将自定义配置添加到 xcode 项目(除调试和发布之外)时,您应该做的是运行pod install
。 这将修复/重新制作 cocoapods 通常所做的更改。
如何使用CocoaPods did not set the base configuration of your project because...
警告
在Info
选项卡下的Configurations
设置上,在项目级别,您需要设置要使用的基本配置(运行 pod install 时生成)
并且不要忘记告诉 cocoapods 它应该使用什么配置,换句话说,将您的配置映射到 pods 配置,否则您的编译时间可能会急剧增加
为我解决的问题是:
这是配置文件的包含(SupportingFiles->Config->ConfigFiles)
#include "Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.release prod.xcconfig"
对我有帮助的链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.