Почему в моем проекте Xcode есть несколько синих папок?

80

Когда я импортирую свой проект из Github, у меня есть две папки, которые отображаются в Xcode синим цветом, но все остальные папки желтого цвета. Что происходит?

Самир
источник
3
Это означает, что вы ввели папки как ссылки на папки, а не как группы файлов. Ссылки на папки обрабатываются так же, как и файл ресурсов (т. Е. Как единый объект). Группы файлов используются для организации кода / элементов в среде IDE.
Джонатан Гринспан
11
Не знаю, почему этот вопрос отклонен. Если сочтёт это полезным.
Зак Латта

Ответы:

63

Синий цвет используется для обозначения «ссылки на папку».

Четкое описание того, что это такое и когда их использовать, можно найти на сайте http://struct.ca/2010/xcode-folder-references/.

В Xcode есть два типа папок: группы и ссылки на папки. Вы можете использовать группы для организации файлов в вашем проекте, не влияя на их структуру в реальной файловой системе. Это отлично подходит для кода, потому что вы будете работать со своим кодом только в Xcode. С другой стороны, группы не очень подходят для файлов ресурсов.

В любом достаточно сложном проекте вы обычно будете иметь дело с десятками - если не сотнями - файлов ресурсов, и эти ресурсы нужно будет модифицировать и манипулировать ими извне Xcode либо вами, либо дизайнером. Помещение всех файлов ресурсов в одну плоскую папку - верный путь к катастрофе. Здесь и появляются ссылки на папки. Они позволяют вам организовать ваши файлы по папкам в вашей файловой системе и сохранить ту же структуру папок в Xcode.

Rcourtna
источник
32
Ответ не совсем правильный. У вас все еще могут быть желтые папки, которые соответствуют реальным каталогам в файловой системе в вашем проекте XCode . Разница с папкой Blue заключается в том, что они также сопоставляются с реальными папками в развернутом пакете приложения. Таким образом, вариант использования синих папок, описанный в этом ответе, применим и к желтым папкам. Реальный вариант использования синих папок - это если вашему приложению также необходимо разделить ресурсы (например, если есть ресурсы с тем же именем, но разными путями к файлам). См. Stackoverflow.com/questions/10380842/…
Rhubarb
1
Xcode 9 представил новую функцию, в которой группа Project Navigator Group теперь может быть явно связана с каталогом файловой системы . Связанный: «Что означает темный треугольник, расположенный на значках папок в Xcode 9?»
l --marc l
1
@Rhubarb, этот комментарий был бы полезен в качестве ответа на этот вопрос.
pkamb