Class: Xcodeproj::Project::Object::PBXTargetDependency
- Inherits:
-
AbstractObject
- Object
- AbstractObject
- Xcodeproj::Project::Object::PBXTargetDependency
- Defined in:
- lib/xcodeproj/project/object/target_dependency.rb
Overview
Represents a dependency of a target on another one.
Attributes collapse
-
#name ⇒ String
The name of the target.
-
#platform_filter ⇒ String
The platform filter for this target dependency.
-
#target ⇒ PBXNativeTarget
The target that needs to be built to satisfy the dependency.
-
#target_proxy ⇒ PBXContainerItemProxy
A proxy for the target that needs to be built.
Attributes inherited from AbstractObject
AbstractObject Hooks collapse
- #ascii_plist_annotation ⇒ Object
-
#display_name ⇒ String
The name of the dependency.
-
#native_target_uuid ⇒ String
Uuid of the target, if the dependency is a native target, otherwise the uuid of the target in the sub-project if the dependency is a target proxy.
- #sort_recursively(_options = nil) ⇒ Object
-
#to_tree_hash ⇒ Hash<String => String>
Returns a cascade representation of the object without UUIDs.
Methods inherited from AbstractObject
#<=>, #==, #inspect, isa, #nested_object_for_hash, #pretty_print, #remove_from_project, #sort, #to_ascii_plist, #to_hash
Instance Attribute Details
#name ⇒ String
This seems only to be used when the target dependency is a target from a nested Xcode project.
Returns the name of the target.
27 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 27 attribute :name, String |
#platform_filter ⇒ String
Returns the platform filter for this target dependency.
31 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 31 attribute :platform_filter, String |
#target ⇒ PBXNativeTarget
Returns the target that needs to be built to satisfy the dependency.
12 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 12 has_one :target, AbstractTarget |
#target_proxy ⇒ PBXContainerItemProxy
Apparently to support targets in other projects of the same workspace.
Returns a proxy for the target that needs to be built.
20 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 20 has_one :target_proxy, PBXContainerItemProxy |
Instance Method Details
#ascii_plist_annotation ⇒ Object
46 47 48 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 46 def ascii_plist_annotation " #{isa} " end |
#display_name ⇒ String
Returns The name of the dependency.
40 41 42 43 44 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 40 def display_name return name if name return target.name if target return target_proxy.remote_info if target_proxy end |
#native_target_uuid ⇒ String
Returns uuid of the target, if the dependency is a native target, otherwise the uuid of the target in the sub-project if the dependency is a target proxy.
55 56 57 58 59 60 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 55 def native_target_uuid return target.uuid if target return target_proxy.remote_global_id_string if target_proxy raise "Expected target or target_proxy, from which to fetch a uuid for target '#{display_name}'." \ "Find and clear the PBXTargetDependency entry with uuid '#{@uuid}' in your .xcodeproj." end |
#sort_recursively(_options = nil) ⇒ Object
This is a no-op, because the targets could theoretically depend on each other, leading to a stack level too deep error.
80 81 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 80 def sort_recursively( = nil) end |
#to_tree_hash ⇒ Hash<String => String>
This override is necessary because Xcode allows for circular target dependencies.
Returns a cascade representation of the object without UUIDs.
68 69 70 71 72 73 |
# File 'lib/xcodeproj/project/object/target_dependency.rb', line 68 def to_tree_hash hash = {} hash['displayName'] = display_name hash['isa'] = isa hash end |