Что означает темный треугольник, расположенный на значках папок в Xcode 9?

Я использую Xcode 9.0. Некоторые значки папок в моем проекте Xcode имеют темные треугольники в левом нижнем углу - например, «0. Логин», «Фреймворки», «Продукты», «Модули». Что это значит?

Изображение с темными треугольниками на иконках папок


person Stanislav Chernischuk    schedule 23.08.2017    source источник


Ответы (2)


Папки без темных треугольников существуют как группа в вашем проекте, а также (что нового в Xcode 9) существуют как папки в файловой структуре.

Пример: После двойного щелчка в навигаторе проекта вы увидите меню:

введите описание изображения здесь

Для Новая группа Xcode создайте группу в навигаторе проекта и создайте папку в файловой структуре (в поисковике) и, конечно же, для Новая группа без папки создайте только группу.

введите описание изображения здесь

person Mateusz    schedule 24.08.2017
comment
примечания к выпуску Xcode 9.0 содержит некоторые дополнительная информация о новых функциях, например, группы в навигаторе проектов теперь более тесно связаны с каталогами в файловой системе. (28612132) - person l --marc l; 23.12.2017

Введение желтых папок с треугольником ( введите здесь описание изображения ) в Xcode 9 совпадает с дополнительной новой функцией, которая позволяет группу Project Navigator, которая будет напрямую связана с каталогом файловой системы.

Желтые папки Xcode 9/10 с треугольником ( введите здесь описание изображения ) представляет группу, не связанную с каталогом файловой системы. Таким образом, Xcode 9/10 желтый Группа папок с треугольниками ( введите здесь описание изображения ) совпадает с обычной желтой группой Xcode 8 ( введите здесь описание изображения ) … так как до Xcode 9, группы Project Navigator не могут быть явно связаны с каталогом файловой системы.

В Xcode 9/10 связь каталога файловой системы может быть явно добавлена ​​или удалена из группы Project Nagivator с помощью инспектора файлов. Треугольник будет включаться или выключаться, чтобы указать, присутствует ли ассоциация файловой системы для группы.

Нажмите значок папки в Инспекторе файлов, чтобы добавить файловую систему, содержащую ассоциацию каталогов, с группой:

введите здесь описание изображения

Нажмите Инспектор файлов Clear pathчтобы удалить ассоциацию каталога файловой системы из группы. Или щелкните значок папки, чтобы изменить файловую систему, содержащую ассоциацию каталогов, на группу:

введите здесь описание изображения

Меню Xcode › File › New или контекстное меню Project Navigator может добавлять группы следующими способами:

введите здесь описание изображения

Обратите внимание, что внешний вид Group with Folder и Group without Folder зависит от контекста.

введите здесь описание изображения

  • New Group: создает пустую группу того же типа группы, что и текущий самый верхний выбор в Xcode Navigator. противоположная альтернатива Group with Folder или Group without Folder также появится в том же меню.
  • New with Group: ( введите здесь описание изображения ) создает пустую группу и связанный с ней каталог файловой системы.
  • New Group without Folder: ( введите здесь описание изображения ) создает новую пустую группу без какой-либо ассоциации с каталогом файловой системы.
  • New Group from Selection: creates a group of the same type at the current Xcode Navigator seletion.
    • context within a Group with Folder ( enter image description here ) creates an empty group and creates an associated "containing" file system directory AND moves the selected items into the newly created "containing" directory in the file system.
    • контекст в Group without Folder ( введите здесь описание изображения ) создает группу, которая ссылается на выделенный фрагмент без создания новой папки в файловой системе.

Кроме того, с новыми функциями Xcode 9 перетаскивание каталога файловой системы в навигатор проекта создает группы ( введите здесь описание изображения) и подгруппы ( введите здесь описание изображения ), каждый из которых связан с соответствующим исходным каталогом файловой системы.

введите здесь описание изображения

В примечаниях к выпуску Xcode 9 отмечается, что Группа со связанным каталогом файловой системы также имеет следующие новые свойства:

  • Перетаскивание файлов между группами в Project Navigator перемещает файлы в файловой системе и обновляет все связанные рабочие копии SCM.

  • Когда группа подключена к папке в файловой системе, создание, переименование и удаление групп обновляет соответствующие файлы и папки в файловой системе.

Приложение - Синяя (упомянутая) папка

Папки с синими ссылками полезны для ресурсов без исходного кода, которые необходимо скопировать в целевой пакет в процессе сборки.

При перетаскивании существующей папки в Xcode предоставляется опция Создать ссылки на папку для добавленной папки.

введите здесь описание изображения

Создание ссылок на папки создаст синюю папку в навигаторе проекта. И содержимое папки также будет добавлено. SomeReferencedFolder был добавлен в следующий Example.xcodeproject, который содержал ABC.pdf.

введите здесь описание изображения

В этом примере приложения macOS указанная папка и содержимое указанной папки копируются в пакет Example.app. Копирование произошло как часть процесса сборки, так как добавление к целям: пример был проверен.

введите здесь описание изображения

Примечание. Группы Xcode 9 и Xcode 10 ведут себя одинаково.

person l --marc l    schedule 26.12.2017
comment
Я быстро понял этот новый принцип. Но затем я перетаскивал существующую папку (которая находится в папке моего проекта) в свой проект в Xcode и выбрал создать ссылки на папки. Я предполагал, что это будет желтая папка. Но он стал синим :D. Я получил ожидаемый результат, когда перетащил папку за пределы проекта и перетащил ее оттуда в Xcode, выбрав создать группы. - person heyfrank; 20.02.2018
comment
@ fl034 к ответу добавлено дополнение, касающееся синей папки. Синие (ссылочные) папки полезны для (не кодовых) файлов, которые необходимо скопировать в комплект приложения. - person l --marc l; 21.02.2018
comment
Спасибо за разъяснения! - person heyfrank; 21.02.2018
comment
Я не знаю о Xcode 9.4.1, но в бета-версии Xcode 10 теперь это группа и группа с папкой. Я думаю, что они их инвертировали (т.е. группа теперь не создает никакой папки, только ссылку). По крайней мере, это то, что они сделали в моем тесте. - person Michele Dall'Agata; 23.07.2018
comment
@l--marcl это удивительно обстоятельный ответ - person evan.bovie; 23.07.2018
comment
Отличный ответ, но я все еще не понимаю, когда использовать группу без папки вместо группы с папкой. Можете ли вы уточнить? - person Duncan Luk; 25.07.2018
comment
@duncan-luk … когда использовать … в основном это личное предпочтение. Моим предпочтением по умолчанию (для моих собственных проектов) является группа с папкой, чтобы то, что я вижу в навигаторе проекта Xcode, соответствовало тому, что находится в файловой системе. При этом, когда я работаю над проектом, который не является моим собственным проектом (т.е. я не могу просто изменить структуру файла по своему усмотрению), абстрагированная группа без папки может помочь мне сосредоточиться на областях, представляющих интерес в Xcode, оставив файловая структура как есть. - person l --marc l; 25.07.2018
comment
Спасибо за объяснение. Таким образом, нет никакого реального преимущества в использовании одного или другого, за исключением того, что Git будет включать файловую структуру при использовании реальных папок. Я полагаю, что я всегда буду выбирать настоящие папки, а затем для согласованности. - person Duncan Luk; 25.07.2018
comment
@ michele-dallagata Внешний вид группы с папкой и группы без папки основан на контексте, выбранном на панели Xcode Navigator. Внешний вид и поведение одинаковы как в Xcode 9, так и в Xcode 10. Ответ был обновлен, чтобы отразить эту дополнительную информацию. Спасибо. - person l --marc l; 25.07.2018
comment
@duncan-luk Другой сценарий с папкой | без папки - это когда диспетчер пакетов Swift создает проект Xcode. SwiftPM создает сочетание групп папок и групп папок. SwiftPM генерирует группы без папок, чтобы разумно отображать некоторые файловые структуры верхнего уровня, чтобы они были менее загромождены в Xcode. Затем под группами верхнего уровня без папки находятся группы с папкой, в которой находится большая часть работы с исходным кодом. Таким образом, группа без папки может помочь абстрагироваться от некоторого местоположения (часто верхнего уровня), которое содержит несколько групп с папкой. - person l --marc l; 26.07.2018