This class represents a Xcode project document.
It can be used to manipulate existing documents or even create new ones from scratch.
An Xcode project document is a plist file where the root is a dictionary containing the following keys:
PBXProject
).Every object is in turn a dictionary that specifies an isa
(the class of
the object) and in accordance to it maintains a set attributes. Those
attributes might reference one or more other objects by UUID. If the
reference is a collection, it is ordered.
The Project
API returns instances of AbstractObject
which wrap the
objects described in the Xcode project document. All the attributes types
are preserved from the plist, except for the relationships which are
replaced with objects instead of UUIDs.
An object might be referenced by multiple objects, an when no other object
is references it, it becomes unreachable (the root object is referenced by
the project itself). Xcodeproj takes care of adding and removing those
objects from the objects
dictionary so the project is always in a
consistent state.
Object
Xcodeproj::Project::ObjectDictionary