in Facebook.Unity.Editor/iOS/PBXProject.cs [782:817]
internal PBXGroupData CreateSourceGroup(string sourceGroup)
{
sourceGroup = PBXPath.FixSlashes(sourceGroup);
if (sourceGroup == null || sourceGroup == "")
return GroupsGetMainGroup();
PBXGroupData gr = GroupsGetByProjectPath(sourceGroup);
if (gr != null)
return gr;
// the group does not exist -- create new
gr = GroupsGetMainGroup();
var elements = PBXPath.Split(sourceGroup);
string projectPath = null;
foreach (string pathEl in elements)
{
if (projectPath == null)
projectPath = pathEl;
else
projectPath += "/" + pathEl;
PBXGroupData child = GetPBXGroupChildByName(gr, pathEl);
if (child != null)
gr = child;
else
{
PBXGroupData newGroup = PBXGroupData.Create(pathEl, pathEl, PBXSourceTree.Group);
gr.children.AddGUID(newGroup.guid);
GroupsAdd(projectPath, gr, newGroup);
gr = newGroup;
}
}
return gr;
}