Рабочий процесс для создания групп Xcode в виде папок файловой системы
Мне нравится организовывать мои классы в группы, на панели навигации проекта Xcode 4. Я также использую GIT управление версиями через терминал, который работает лучше для меня, чем интеграция Xcode 4. Для меня это имеет наибольший смысл, когда группы, которые я создаю в Xcode, соответствуют реальным папкам в моей файловой системе.
Однако Xcode, похоже, не заботится о том, где файл (например, Objective-C.h/.m файл) находится в файловой системе, и каждый раз, когда вы добавляете группу (Option+Command+N
), она чисто косметическая, для любых файлов вы добавили в него то же место на вашем жестком диске, что и остальные.
Странно, что если вы сначала создаете папку на своем жестком диске, а затем перетащите ее в Xcode, вы создали группу со своим местоположением в вашей файловой системе. Каждый созданный вами файл будет создан в папке на диске. Мне это нравится, но мне бы это понравилось еще больше, если бы Xcode сделал это для меня в Option+Command+N
. Рабочий процесс переключения на Finder для каждой группы, которую вы хотите создать, а затем перетащить обратно в нужное место в навигаторе проектов, просто глупо.
Похоже на то, что настройка исправит, но я не могу ее найти! Есть ли лучший способ?
Обновление: При перетаскивании папки в Xcode вы получите диалоговое окно, в котором вы можете выбрать "Справочник по папкам". Это выглядит многообещающе, однако мой Xcode 4 не принимает файлы там как классы и продолжает говорить мне, что он не может найти файлы. Может быть, ответ лежит где-то здесь, но я все еще не могу его найти.
Другое обновление:. Я изменил основную среду редактора с Xcode на AppCode. Последний поддерживает фактическое создание папок для поддержки групп проектов, сохраняя при этом 100% совместимость с Xcode. Эти ребята из AppCode точно знают, что они делают.
Ответы
Ответ 1
UPDATE
Начиная с Xcode 9, команда "Новая группа" создает папку для файловой системы для группы. Если вы переименуете группу, и у этой группы есть соответствующая папка с тем же именем, Xcode 9 также переименовывает эту папку.
Xcode 9 имеет отдельную команду "Новая группа без папок", которая создает группу без создания соответствующей папки, которая является старым поведением.
В Xcode 9, если вы перетаскиваете файл из одной группы в другую, а группы имеют разные папки, Xcode 9 перемещает файл в новую папку группы, независимо от того, имеет ли новая групповая папка то же имя, что и группа.
Если вы не хотите это поведение в Xcode 9, вы можете установить недокументированный параметр из командной строки:
defaults write com.apple.dt.Xcode IDEDisableStructureEditingCoordinator -bool YES
ORIGINAL
Вы можете создать новую группу со своей собственной папкой непосредственно в Xcode, но это совершенно не очевидно.
Вместо выбора "Новая группа" выберите "Добавить файлы в" <Project> ". Затем в диалоговом окне выбора файлов нажмите кнопку" Новая папка "или нажмите" Command-Shift-N "и введите имя новой папки/группы. Затем убедитесь, что выбрано" Создать группы для любых добавленных папок "и нажмите" Добавить "или нажмите" Возврат".
![добавление группы со своей собственной папкой]()
Это не сильно сэкономит вам, если вам нужно переместить существующие файлы в новую группу, потому что Xcode все равно этого не сделает.
Но он сохраняет несколько шагов, если вы создаете новую группу для хранения новых файлов.
Ответ 2
Для тех, кто слишком ленив, чтобы синхронизировать папки, есть хороший инструмент на GitHub.
Synx - это инструмент командной строки, который реорганизует вашу папку проекта Xcode в соответствии с вашими группами Xcode.
![введите описание изображения здесь]()
Надеюсь, что это поможет кому-то.
Ответ 3
Посмотрите на andyvn22 answer здесь
Перефразировать:
- Xcode 3: всякий раз, когда вы создаете группу в Xcode, немедленно получите информацию
на нем, и обратите внимание на настройку "Путь:" чуть ниже ее имени. Нажмите
"Выбрать..." и установить его в новую папку с тем же именем.
- Xcode 4: всякий раз, когда вы создаете группу в Xcode, немедленно выберите ее и откройте правую боковую панель. Обратите внимание на настройку "Путь:"
ниже его названия. Нажмите значок рядом с "Нет" (что это такое, файл
в окне?) и установите его в новую папку с тем же именем.
Затем вам нужно будет вручную перенести любые существующие файлы на диск в новую папку.
Просто попробовал это в моем проекте Xcode4, работает как шарм.