Как мне организовать файлы проекта Xcode?

Я пытаюсь обернуть голову вокруг файловой организации XCode - или ее не хватает. Я могу делать все, что хочу в проекте, и он отлично смотрится со всеми «поддельными» папками и структурой. Я смотрю на файловую систему и беспорядок бума HUGE . Я попытался импортировать файлы с установленным параметром Создать папку для любой добавленной папки , и это работает, вроде. Я получаю нужную структуру как в XCode, так и в файловой системе.

Проблемы: Когда я добавляю файл в папку в файловой системе, которая является ссылкой на папку в XCode, его нет в XCode, когда я смотрю, даже после перезагрузка проекта. Файлы / подпапки в ссылке на папку не могут быть перемещены в XCode. Когда я перемещаю их в файловую систему, я получаю красные ссылки (не можете найти файл?) В XCode.

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

Другая проблема, с которой я сталкиваюсь, если я использую ссылку на папку и изменяю файл, файл не обновляется в моем приложении, пока я не выполню полную очистку и перестройку. Если я не использую ссылку на папку, все мои файлы будут выгружены в папку Resource пакета приложения, а не в той хорошей структуре, которая есть в моем проекте.

Меня это должно волновать? Должен ли я просто использовать фальшивые папки и позволить всему идти везде, и все равно? Мой пакет приложений будет в беспорядке, файловая система будет в беспорядке, но все будет работать ... Надеюсь?

Редактировать:

Моя главная причина желания организованной файловой системы состоит в том, что файлы ресурсов (изображения, звуки, другие файлы данных и т. Д.) Не редактируются в XCode. Я должен получить доступ к ним в сторонних приложениях через файловую систему. Если это беспорядок, то сложнее найти и поддерживать в других сторонних приложениях.

И что произойдет, если я захочу иметь структуру, подобную следующей:

  • Images / Backgrounds / Name.png
  • Images / Icons / Name.png
  • Images / Titles / Name.png

Стоит ли использовать для организации длинные имена файлов, а не папки?

  • Images_Backgrounds_Name.png
  • Images_Icons_Name.png
  • Images_Titles_Name.png
32
задан Marcus Leon 15 May 2016 в 15:55
поделиться

3 ответа

А меня это вообще должно волновать? Должен ли я просто использовать поддельные папки и позволить все идут везде и не заботятся? Мой пакет приложений будет беспорядок, в файловой системе будет беспорядок, но все будет работать... Я бы надеюсь?

ИМХО нет... :) в принципе. Все дело в том, что XCode был разработан, чтобы дать вам лучший опыт программирования. Если бы Apple хотела, чтобы вы физически организовали все свои файлы и папки в реальной файловой системе, они бы сделали это именно так.

Я вообще не понимаю, зачем вам все-таки организовывать все файлы и папки таким образом? Это не имеет значения для запуска приложения, а «фальшивые» папки (группы) в XCode адекватно обеспечивают необходимую визуальную помощь для вас (и других) для навигации по вашим классам и другим ресурсам. Правильная организация его в вашей файловой системе (как вы обнаружили) только усложняет задачу?

5
ответ дан 27 November 2019 в 21:11
поделиться

Хорошо, вот как это работает:

Xcode не знает ни о каких файлах, пока вы не сообщите ему о них. То есть, даже если вы добавите файл вручную в поисковике (обычно это плохая идея) в папку, содержащую файлы в проекте Xcode, он не узнает о них, пока вы не «добавите существующий файл в проект».

Наилучшая практика (imo) для добавления существующего файла (или группы файлов) в проект (скажем, некоторый код, который вы только что загрузили) состоит в том, чтобы выбрать «добавить существующие файлы», а затем «скопировать элементы в папку целевой группы ( если необходимо)" в следующем диалоговом окне, если вы хотите, чтобы ваш проект имел копию рассматриваемых файлов, а не просто ссылку на них (у обоих есть преимущества и недостатки).

Не беспокойтесь слишком об именах папок в Xcode или о том, где вы размещаете файлы, но старайтесь придерживаться стандарта, который имеет смысл в вашей среде. Например, я всегда помещаю классы, которые пишу, в «Классы», и у меня есть отдельные папки для любого кода библиотеки, который я скачал для использования в проекте. Я всегда помещаю изображения/значки/аудио и т. д. в «Ресурсы».

Короче говоря, если вы хотите, чтобы то, что находится в папке проекта, было примерно таким же, как и то, что находится в вашем проекте, всегда добавляйте существующие файлы, выбирая «копировать элементы в папку целевой группы».

Гибкость в XCode является преднамеренной. Вам решать, как вам нравится организовывать вещи.

6
ответ дан 27 November 2019 в 21:11
поделиться

Было бы здорово, если бы Xcode мог синхронизировать себя и файловую систему. К сожалению, это не так. Одна из причин, по которой это нужно, заключается в том, чтобы иерархия в вашем SCCS соответствовала иерархии в Xcode.

Я возвращаюсь к организации вещей в Xcode и оставляю файловую систему разделенной не более чем на «Классы» и «Ресурсы».

1
ответ дан 27 November 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: