class Xcodeproj::XCScheme::BuildableReference
typically is synonymous for an Xcode target)
A BuildableReference is a reference to a buildable product (which is
This class wraps the BuildableReference node of a .xcscheme XML file
def buildable_name
-
(String)-
def buildable_name @xml_element.attributes['BuildableName'] end
def buildable_name=(value)
-
value(String) --
def buildable_name=(value) @xml_element.attributes['BuildableName'] = value end
def construct_buildable_name(build_target)
-
(String)- The buildable name of the scheme.
Parameters:
-
target(Xcodeproj::Project::Object::AbstractTarget) --
def construct_buildable_name(build_target) case build_target.isa when 'PBXNativeTarget' File.basename(build_target.product_reference.path) when 'PBXAggregateTarget' build_target.name else raise ArgumentError, "Unsupported build target type #{build_target.isa}" end end
def construct_referenced_container_uri(target)
-
(String)- A string in the format "container:[path to the project
Parameters:
-
target(Xcodeproj::Project::Object::AbstractTarget) --
def construct_referenced_container_uri(target) project = target.project relative_path = project.path.relative_path_from(project.path + project.root_object.project_dir_path).to_s relative_path = project.path.basename if relative_path == '.' "container:#{relative_path}" end
def initialize(target_or_node)
-
target_or_node(Xcodeproj::Project::Object::AbstractTarget, REXML::Element) --
def initialize(target_or_node) create_xml_element_with_fallback(target_or_node, 'BuildableReference') do @xml_element.attributes['BuildableIdentifier'] = 'primary' set_reference_target(target_or_node, true) if target_or_node end end
def set_reference_target(target, override_buildable_name = false)
-
override_buildable_name(Bool) -- -
target(Xcodeproj::Project::Object::AbstractTarget) --
def set_reference_target(target, override_buildable_name = false) @xml_element.attributes['BlueprintIdentifier'] = target.uuid @xml_element.attributes['BlueprintName'] = target.name @xml_element.attributes['ReferencedContainer'] = construct_referenced_container_uri(target) self.buildable_name = construct_buildable_name(target) if override_buildable_name end
def target_name
-
(String)-
def target_name @xml_element.attributes['BlueprintName'] end
def target_referenced_container
-
(String)-
def target_referenced_container @xml_element.attributes['ReferencedContainer'] end
def target_uuid
- Note: - You can use this to `#find` the `Xcodeproj::Project::Object::AbstractTarget`
Returns:
-
(String)-
def target_uuid @xml_element.attributes['BlueprintIdentifier'] end