Я хочу сортировать файлы в разделе "Компиляция источников" моего проекта Xcode в соответствии с их именами. Возможно ли это?
Можно ли отсортировать список источников компиляции в разделе "Сборка фаз" проекта Xcode?
Ответ 1
Да, вы можете переупорядочить раздел Компилировать источники в Xcode, но не из графического интерфейса - это позор, учитывая, что это уже версия 6 IDE, и они все еще не получили к этой основной функции.
Как сказал A-Live, вам нужно отредактировать файл project.pbxproj в файле yourproject.xcodeproj. Используйте Finder для выбора файла yourproject.xcodeproj, а затем используйте контекстное меню в Показать содержимое пакета. После этого откройте файл project.pbxproj с помощью текстового редактора.
Найдите раздел PBXSourcesBuildPhase и скопируйте все между files = ( и ); в новый текстовый файл. Удалите ведущие вкладки/пробелы. Сохраните этот файл где-нибудь на вашем диске. Откройте терминал и сделайте следующее:
sort -bf -t " " -k 3 PBXSourcesBuildPhase.txt > PBXSourcesBuildPhase.sorted.txt
Откройте новый файл PBXSourcesBuildPhase.sorted.txt в текстовом редакторе, скопируйте отсортированные строки в раздел PBXSourcesBuildPhase вашего project.pbxproj (перезапишите строки, которые вы ранее скопировали) и сохраните.
Теперь вы должны увидеть все файлы, отсортированные в разделе Компилировать источники в Xcode.
Я протестировал это в Xcode 6.0.1 с небольшим проектом (~ 150 исходных файлов) и не имел проблем.
Осторожно: перед тем, как попробовать, вы должны сделать резервную копию своего файла проекта (или лучше: использовать контроль версий). На всякий случай.
Ответ 2
Я считаю, что стыдно, что это невозможно.
как обходной путь в большинстве ситуаций, вы можете использовать фильтр поиска в правом верхнем углу списка файлов.
например, мне нужно было добавить флаг компилятора во многие файлы, которые (к счастью) все начались с того же префикса. для этого, как указано здесь, вам нужно дважды щелкнуть файл.
тогда я отфильтровал файлы для префикса, сдвинул их по экрану, чтобы выбрать их все, затем выпустил сдвиг и дважды щелкнул один из них. таким образом я смог сразу добавить флаг во все файлы
Ответ 3
Об этом подробно сказано, но я решил поделиться с ним командой Emacs, которая отсортировала их для меня. Перейдите к project.pbxproj
, отметьте все файлы в PBXSourcesBuildPhase
и используйте команду:
M-3 M-x sort-fields
... aka сортировка отмеченной области третьим столбцом, который является именами файлов. C-x C-s
и ты уже в пути.
Ответ 4
Вы можете изменить порядок записей PBXSourcesBuildPhase
в разделе project.pbxproj
, это сработало для меня, но, конечно, нет никакой гарантии в целом, чтобы она работала. Не забудьте сначала создать резервную копию резервных копий.