我正在尝试使用当前配置的 Fastlane 部署我的 iOS 应用程序:具有多个目标和多个环境的单个项目(使用 .xccconfig 文件)。我创建了 3 个通道:开发、测试、分发。这些车道采用“brand_name”作为参数,因此我可以为每个目标使用相同的车道。
我想要实现的是“读取”目标的 .xcconfig 文件(例如PRODUCT_BUNDLE_IDENTIFIER
)中的常量并将其用作我的通道中的变量。我设法通过创建和读取包含目标捆绑 ID 的 yaml 文件来做到这一点,但由于我已经在使用 .xcconfig 文件,所以我想避免重复。我做了一些搜索以找到答案,但由于我对 ruby 还很陌生,所以我现在被困住了。请问有没有办法做到这一点?
如果有帮助,这是我目前正在使用的一个工作通道,其中包含我想要使用 .xcconfig 文件而不是 yaml 文件替换的部分的注释:
lane :development do |options|
# Getting lane settings
#adding lane_name to the options
options = options.merge(lane_name: 'development')
# THIS IS THE PART I'D LIKE TO REPLACE WITH .XCCONFIG FILE INSTEAD OF YAML
#fastlane config path
config = YAML.load_file(File.join(File.dirname(__FILE__),"../Brand", options[:brand_name],"Configs/fastlane_config.yaml"))
settings = OpenStruct.new(config)
lane_settings = settings[options[:lane_name]]
# Settings the App Identifier
app_identifier = lane_settings["bundle_identifier"]
pilot(skip_submission: true)
end
谢谢