lib/xcodeproj/scheme/profile_action.rb
require 'xcodeproj/scheme/abstract_scheme_action' module Xcodeproj class XCScheme # This class wraps the ProfileAction node of a .xcscheme XML file # class ProfileAction < AbstractSchemeAction # @param [REXML::Element] node # The 'ProfileAction' XML node that this object will wrap. # If nil, will create a default XML node to use. # def initialize(node = nil) create_xml_element_with_fallback(node, 'ProfileAction') do # Add some attributes (that are not handled by this wrapper class yet but expected in the XML) @xml_element.attributes['savedToolIdentifier'] = '' @xml_element.attributes['useCustomWorkingDirectory'] = bool_to_string(false) @xml_element.attributes['debugDocumentVersioning'] = bool_to_string(true) # Setup default values for other (handled) attributes self.build_configuration = 'Release' self.should_use_launch_scheme_args_env = true end end # @return [Bool] # Whether this Profile Action should use the same arguments and environment variables # as the Launch Action. # def should_use_launch_scheme_args_env? string_to_bool(@xml_element.attributes['shouldUseLaunchSchemeArgsEnv']) end # @param [Bool] flag # Set Whether this Profile Action should use the same arguments and environment variables # as the Launch Action. # def should_use_launch_scheme_args_env=(flag) @xml_element.attributes['shouldUseLaunchSchemeArgsEnv'] = bool_to_string(flag) end # @return [BuildableProductRunnable] # The BuildableProductRunnable to launch when launching the Profile action # def buildable_product_runnable BuildableProductRunnable.new @xml_element.elements['BuildableProductRunnable'] end # @param [BuildableProductRunnable] runnable # Set the BuildableProductRunnable referencing the target to launch when profiling # def buildable_product_runnable=(runnable) @xml_element.delete_element('BuildableProductRunnable') @xml_element.add_element(runnable.xml_element) if runnable end end end end