我正在构建一个在其中一个方法中使用preprocesor标志的框架。类似下面的代码:
public func heyStuck(overflow: String) {
#if DEBUG
print(overflow)
#else
print("¯\\_(ツ)_//¯")
#endif
}
关键是我使用Cocoapods导入我的框架,为了定义框架的标志DEBUG,我必须在我的App Podfile中做这样的事情:
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.name != 'Release'
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'DEBUG=1']
end
end
end
end
有没有办法将这些信息添加到podspec文件中,以避免应用程序在其Podfile上定义此内容?
答案 0 :(得分:7)
我终于得到了它,在我的podspec文件中使用了以下魔法:
s.pod_target_xcconfig = {
'OTHER_SWIFT_FLAGS[config=Debug]' => '-DDEBUG',
}
答案 1 :(得分:0)
您可以尝试使用prefix_header_contents。例如:
s.prefix_header_contents = #define DEBUG 1