rad*_*dex 48 xcode objective-c ios cocoapods
我有一个iOS/OS X Xcode项目,我正在使用CocoaPods,我似乎无法弄清楚如何添加我自己的项目配置(除了Debug和Release)而不会完全破坏构建.
在项目中,我有许多目标,适用于两个平台及其应用扩展的应用.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
Run Code Online (Sandbox Code Playgroud)
现在我在这里遇到问题.到目前为止,我的项目中只有默认的"Debug"和"Release"配置.我想更改它们并为不同的配置文件/捆绑ID组合添加一些新的.
......我被困住了.我无法弄清楚如何做到这一点.
问题的第一个迹象是pod install
针对每个目标/配置组合发出警告:
[!] CocoaPods没有设置项目的基本配置,因为您的项目已经有自定义配置集.为了使CocoaPods集成完全可用,请将目标的基本配置设置
NozbeToday
为Pods/Target Support Files/Pods-iOS/Pods-iOS.dev debug.xcconfig
或包含Pods/Target Support Files/Pods-iOS/Pods-iOS.dev debug.xcconfig
在构建配置中.
我无法弄清楚它意味着什么以及如何解决这个问题.无论哪种方式,项目都不会构建 - 在最好的情况下,我会得到一个链接器错误,说它无法找到Pods-something.a
...
rad*_*dex 42
好吧,所以写这个问题的中途我自己弄明白了(yay rubber ducking).这是下一代的解决方案:
实际上,您必须在Pods目标上添加对应用程序方案的显式依赖性.
您的方法是:编辑您的应用程序方案,转到Build部分,并将Pods目标添加到应用程序目标之上.你应该看到这样的东西:
它会起作用.
至于CocoaPods警告pod install
,您需要xcconfig
为每个Xcode配置使用CP生成的文件.你这样做的方式是:
Pods/Target Support Files
在Podfile中你也需要这样的东西让CocoaPods知道哪些Xcode配置是"debug"(未优化),这是"release":
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,
}
Run Code Online (Sandbox Code Playgroud)
与CocoaPods不完全相关,但如果您碰巧有除CP之外的其他(子项目)依赖项,您还需要做两件事:
lea*_*vez 11
在配置文件中添加此行,就像导入头文件一样:
#include "Pods/Target Support Files/Pods/Pods.debug.xcconfig"
Run Code Online (Sandbox Code Playgroud)
注意:#include
不是#import
归档时间: |
|
查看次数: |
16398 次 |
最近记录: |