Ответ 1
Группы входят только в ваш проект и предназначены только для целей организации. Они не отражают то, что находится в файловой системе, и где файлы будут скомпилированы в приложении.
Папки в основном похожи на папку в файловой системе, где, если вы перемещаете файл в папку, ссылка также будет отражена в вашем проекте. Эти папки также отражаются внутри вашего пакета приложений при его компиляции.
Я обычно использую группы. Например, в файловой системе у меня есть все мои классы в папке /Classes, но они разделены в моем проекте на группы, такие как View Controllers, Custom Views, Data Model и т.д. Это не обязательно должно быть раздельным в файловая система, но ее приятно иметь в проекте.
Иногда я буду использовать ссылки на папки, если это важно для организации, чтобы она поддерживалась после того, как она попала в комплект приложений, но это довольно редко. Кроме того, при включении файлов из сторонней библиотеки, которые могут часто обновляться, вы можете использовать ссылку на папку, поэтому вам не нужно запоминать, чтобы добавлять файлы, когда они добавлены в библиотеку.