Ich versuche, meine iOS-Apps mit Fastlane mit der aktuellen Konfiguration zu implementieren: ein einzelnes Projekt mit mehreren Zielen und mehreren Umgebungen (mit .xccconfig-Dateien). Ich habe 3 Spuren erstellt: Entwicklung, Beta, Distribution. These Gassen nimmt einen "brand_name" als Parameter, also kann ich die selbe Spur für jedes Ziele benutzen.Wie liest man .xcconfig-Dateikonstanten mit Ruby, um sie als Fastlane-Lane-Variablen zu verwenden?
Was ich versuche zu erreichen ist, die Konstanten in der .xcconfig-Datei des Zieles zu "lesen" (z. B. PRODUCT_BUNDLE_IDENTIFIER
) und es als eine Variable in meiner Spur zu verwenden. Ich habe es geschafft, indem ich eine yaml-Datei mit der Bundle-ID des Ziels erstellt und gelesen habe, aber da ich bereits .xcconfig-Dateien verwende, möchte ich Doppelungen vermeiden. Ich habe ein wenig gesucht, um eine Antwort zu finden, aber da ich Ruby ziemlich neu bin, stecke ich gerade fest. Gibt es einen Weg dies zu erreichen?
Wenn es hilft, ist hier eine Arbeits Spur ich zur Zeit auf dem Teil mit einem Kommentar mit I anstelle einer YAML-Datei mit einer .xcconfig Datei ersetzen möchten:
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
Danke