我正在使用cocoapods,并希望使用特定于调试模式的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]标记时不同。有没有办法将其限制为仅调试模式?
答案 0 :(得分:2)
您应该创建两个单独的podspec,每个podspec具有不同的xcconfig,然后使用配置链接到每个podspec:
pod 'my-podspec-debug', :configurations => ['Debug']
pod 'my-podspec-release', :configurations => ['Release']
答案 1 :(得分:0)
您可以通过将其添加到podspec文件中来实现所需的功能:
s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => "$(GCC_PREPROCESSOR_DEFINITIONS_$(CONFIGURATION))",
"GCC_PREPROCESSOR_DEFINITIONS_Debug" => "MY_DEFINE=1" }
您可以使用“变量替换”,根据另一个变量来为其分配值,该变量的名称基于您在构建配置名称(即GCC_PREPROCESSOR_DEFINITIONS _ $(CONFIGURATION))中创建的变量。
您可以在此处https://pewpewthespells.com/blog/xcconfig_guide.html#VariableSubstitution
了解更多信息