public void AddExternalProjectDependency(string path, string projectPath, PBXSourceTree sourceTree)
{
if (sourceTree == PBXSourceTree.Group)
{
throw new Exception("sourceTree must not be PBXSourceTree.Group");
}
path = PBXPath.FixSlashes(path);
projectPath = PBXPath.FixSlashes(projectPath);
PBXGroupData gr = PBXGroupData.CreateRelative("Products");
this.GroupsAddDuplicate(gr);
PBXFileReferenceData fileRef = PBXFileReferenceData.CreateFromFile(path, Path.GetFileName(projectPath), sourceTree);
this.FileRefsAdd(path, projectPath, null, fileRef);
this.CreateSourceGroup(PBXPath.GetDirectory(projectPath)).children.AddGUID(fileRef.guid);
this.project.project.AddReference(gr.guid, fileRef.guid);
}