相关疑难解决方法(0)

CocoaPods仅依赖于调试/发布版本

我正在使用pod作为我项目的内部库.

我想在发布/调试版本中包含一些pod,比如Reveal/Sparkinspector.

有没有办法podspec根据当前选择的构建配置(构建/发布)定义依赖项?

xcode ios cocoapods

31
推荐指数
1
解决办法
1万
查看次数

将POD Spec属性与其Xcode配置中的不同构建设置相关联(例如,Release,Debug)

我正在尝试为现有的库项目创建POD规范.

在Xcode项目中,构建设置为不同的构建配置定义了不同的预处理器宏(例如:"Debug"和"Release")

例如:

对于"调试"配置:

GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 
Run Code Online (Sandbox Code Playgroud)

对于"发布"配置:

GCC_PREPROCESSOR_DEFINITIONS = NDEBUG NS_BLOCK_ASSERTIONS
Run Code Online (Sandbox Code Playgroud)

如何将这些设置映射到相应的POD规范?

例如:

spec.compiler_flags = '-DDEBUG=1'
Run Code Online (Sandbox Code Playgroud)

spec.compiler_flags = '-DNDEBUG -DNS_BLOCK_ASSERTIONS'
Run Code Online (Sandbox Code Playgroud)

不幸的是,官方文档通常更令人困惑和不清楚,而不是真正有用:

构建设置

构建设置

在该组中列出了与应该用于构建库的构建环境的配置相关的属性.

如果未在子规范中定义,则该组的属性将继承父级的值.

例子:

spec.compiler_flags =' - DOS_OBJECT_USE_OBJC = 0',' - Wno-format'

直观地说,我会做这样的事情:

configuration :Debug do
    spec.compiler_flags = '-DDEBUG=1'
end

configuration :Release do
    spec.compiler_flags = '-DNDEBUG -DNS_BLOCK_ASSERTIONS'
end
Run Code Online (Sandbox Code Playgroud)

但是,这是在猜测.

xcode build-settings cocoapods

7
推荐指数
1
解决办法
1318
查看次数

标签 统计

cocoapods ×2

xcode ×2

build-settings ×1

ios ×1