如何保障iOS代码#高质量#之警告设置(3)

211 阅读1分钟
  • 起因:项目越来越大,业务越来越复杂,团队人越来越多,亟需模块化。
  • 模块化后怎么对各个pod进行统一的警告设置,是一个问题
  • 经过研究可以通过在Podfile里的post_install进行设置
  • 具体写法如下
platform :ios, '13.0'

target 'WarningSetting' do
  use_frameworks!
  pod 'SDWebImage'
  post_install do |installer|
    # 对每一个target进行设置
    installer.pods_project.targets.each do |target|
      puts "target:#{target.name}"
      target.build_configurations.each do |config|
        # 初始化
        config.build_settings['OTHER_CFLAGS'] ||= [] 
        # 设置警告 强制要求availability判断
        config.build_settings['OTHER_CFLAGS'] << '-Werror=unguarded-availability-new' 
        # 设置警告 防止少写=
        config.build_settings['OTHER_CFLAGS'] << '-Werror=parentheses' 
      end
    end
  end
end

各种警告类型介绍, 可以按需添加