1

我需要通过 fastlane 动态添加/删除预处理器宏。我可以将自定义值添加到自定义字段(用户定义)中,但我无法将任何标志添加到Active Compilation Conditions.


这是我的相关车道->

fastlane_version "2.6.0"

fastlane_require "xcodeproj"

lane :write_to_build_settings do |options|
    project = Xcodeproj::Project.open(
      File.join(File.expand_path('..'), ENV["XCODEPROJ_NAME"])
    )
    target = project.targets.find { |t| t.name == options[:target] }

    if options[:configuration].nil?
      target.build_configurations.each do |c|
        c.build_settings[options[:field]] = options[:value]

        # This is what I've tried and I want!!
        # Maybe I should use `build_configuration` instead of `build_settings`
        c.build_settings[options["CUSTOM_FIELD"]] = "CUSTOM_VALUE"
      end
    else
      configuration = target.build_configurations.find { |c|
        c.name == options[:configuration]
      }
      configuration.build_settings[options[:field]] = options[:value]

      # This is what I've tried and I want!!
      # Maybe I should use `build_configuration` instead of `build_settings`
      if options[:option_to_add_flag]
        puts "option_to_add_flag: true"
        configuration.build_settings[options["CUSTOM_FIELD"]] = "CUSTOM_VALUE"
      end
      ### 
    end

    project.save
  end
4

0 回答 0