繁体   English   中英

"使用 CocoaPods 时如何向 Xcode 添加自定义项目配置?"

[英]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 文件
  • 将它们拖放到 Xcode 项目中的“Pods”组(仅添加引用。不要复制到目标或添加到构建中)
  • 单击项目导航器中的项目,然后选择项目本身(不是目标之一)。 转到信息,然后在配置下为“基于配置文件”列中的每个配置和目标设置正确的 .xcconfigs。

你还需要在你的 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 之外的其他(子项目)依赖项,您还需要做两件事:

  • 在子项目目标上添加显式依赖项(如上面的屏幕截图)
  • 在您的子项目中重命名/添加配置,以便它们与您的主项目相同。 (否则,Xcode 就是不知道您的子项目要使用哪种配置)

在您的配置文件中添加这一行,就像导入头文件一样:

#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 配置,否则您的编译时间可能会急剧增加

为我解决的问题是:

  1. 将包含添加到自定义配置文件中,
  2. 在 pod 文件中添加项目配置依赖项(使用您在 info -> 配置和
  3. 然后重新运行 pod install。

这是配置文件的包含(SupportingFiles->Config->ConfigFiles)

#include "Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.release prod.xcconfig"

对我有帮助的链接:

使用 Cocoapods 设置配置的好教程

项目文档 Cocoapods

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM