簡體   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