我正在尝试为现有库项目创建 POD 规范。
在 Xcode 项目中,构建设置为不同的构建配置定义了不同的预处理器宏(例如:“调试”和“发布”)
例如:
对于“调试”配置:
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
对于“发布”配置:
GCC_PREPROCESSOR_DEFINITIONS = NDEBUG NS_BLOCK_ASSERTIONS
如何将这些设置映射到相应的 POD 规范?
例如:
spec.compiler_flags = '-DDEBUG=1'
和
spec.compiler_flags = '-DNDEBUG -DNS_BLOCK_ASSERTIONS'
不幸的是,官方文档通常更令人困惑和不清楚,而不是真正有用:
构建设置
在该组中列出了与构建环境的配置相关的属性,这些属性应该用于构建库。
如果未在子规范中定义,则该组的属性继承父项的值。
例子:
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
然而,这是猜测。