我正在使用cocoapods,并希望使用特定于Debug模式的xcconfig参数在pod的podspec中指定一个值。
目前,使用:
s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => "MY_DEFINE=1" }将为Debug和Release模式设置该值。我还尝试使用:
s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS[config=Debug]" => "MY_DEFINE=1" }但是,尽管这是在pod的预处理器宏中设置它,但它似乎不会在代码执行期间注册,这与不使用config=Debug标记时不同。有没有办法把它限制为只使用调试模式?
发布于 2015-07-22 10:03:24
您应该创建两个单独的podspec,每个podspec使用不同的xcconfig,然后使用配置链接到每个podspec:
pod 'my-podspec-debug', :configurations => ['Debug']
pod 'my-podspec-release', :configurations => ['Release']发布于 2018-08-03 14:44:08
您可以通过在您的podspec文件中添加以下内容来实现所需的功能:
s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => "$(GCC_PREPROCESSOR_DEFINITIONS_$(CONFIGURATION))",
"GCC_PREPROCESSOR_DEFINITIONS_Debug" => "MY_DEFINE=1" }您可以使用变量替换,根据您根据生成配置名称创建的另一个变量(即GCC_PREPROCESSOR_DEFINITIONS_$(CONFIGURATION)). ),将值分配给GCC_PREPROCESSOR_DEFINITIONS
您可以在这里阅读更多内容https://pewpewthespells.com/blog/xcconfig_guide.html#VariableSubstitution
https://stackoverflow.com/questions/29241458
复制相似问题