Подтвердить что ты не робот

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

Я пытаюсь обернуть голову вокруг организации файла Xcode - или ее не хватает. Я могу делать все, что хочу в проекте, и отлично выглядит со всеми "поддельными" папками и структурой. Я смотрю файловую систему и бум ОГРОМНЫЙ беспорядок. Я попытался импортировать файлы с опцией Create Folder Reference for any added folder, и это работает, вроде. Я получаю структуру, которую хочу как в Xcode, так и в файловой системе.

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

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

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

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

Edit:

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

Также, если я хочу, чтобы структура выглядела следующим образом:

  • Изображения/обои/Name.png
  • Изображения/Иконки/Name.png
  • Изображения/Титулы/Name.png

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

  • Images_Backgrounds_Name.png
  • Images_Icons_Name.png
  • Images_Titles_Name.png
4b9b3361

Ответ 1

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

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

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

Ответ 2

Я также хочу, чтобы Xcode автоматически сохранял себя и файловую систему в синхронизации.

Настолько, что я потратил час, делая это вручную для проекта под названием acani-iphone на GitHub. В основном, я просто переместил некоторые файлы вокруг Finder, создав новые папки, как мне было приятно. Затем я переключился на Xcode и увидел, что файлы, которые я только что переместил, теперь были красными (потому что Xcode думал, что они там, откуда я их перемещал, и поэтому не могли найти их).

UPDATE: я только что понял, что я мог просто щелкнуть красную группу или файл, нажал CMD + я (получить информацию из контекстного меню, которую вы можете открыть, щелкнув правой кнопкой мыши на красном файле или группе), а на вкладке "Общие" нажмите "Выбрать", затем найдите, куда я переместил файл в файловую систему. Но я этого не делал, вот что я сделал, а также работает:

Затем я просто выделил все красные файлы в Xcode и нажал command + delete, чтобы удалить сломанные (красные) ссылки. Затем я щелкнул правой кнопкой мыши по группе, в которую я хотел добавить файлы (обычно одну и ту же группу), и нажал Add > Existing Files.... Затем я нашел те же файлы в новом месте в файловой системе. Я сохранил "Скопировать элементы в папку группы назначения (если необходимо)", не установлен, я проверил переключатель "Рекурсивно создавать группы для любых добавленных папок", и я проверил добавление к целевому acani, если файлы, которые я добавлял, использовались для создания приложение acani для iPhone.

Я сделал это как каталог файлов за раз. Несколько раз я был более агрессивным, добавляя несколько каталогов за раз, так как я почти всегда выбирал радиокнопку "Рекурсивно создавать группы для любых добавленных папок".

Я узнал, что файлы acani_Prefix.pch и acani-Info.plist должны были оставаться в корневой файловой системе dir (хотя могут быть настройки, которые вы можете установить, чтобы эти файлы были в другом месте, например, я думаю, вы можете добавить строку на acani-Info.plist, чтобы вы могли перемещать/переименовывать acani_Prefix.pch, но я в порядке с ними в корневом каталоге в файловой системе.

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

Ответ 3

ОК, так вот как это работает:

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

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

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

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

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

Ответ 4

Используйте Synx.

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

Ответ 5

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

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

Ответ 6

Я создаю группу для представления каждой папки, а затем перед добавлением к ней файлов, на правой панели, первой вкладке, непосредственно под "Путь", есть значок, который позволяет вам выбрать папку. В этом диалоговом окне папки я создаю папку, которая соответствует группе и выбирает ее.

В xcode3 это привело к появлению новых и добавление файлов, начинающихся с этого пути. Это приложило все усилия. Xcode4, однако, не соблюдает эту настройку. Поэтому его сомнительно, существует ли в нем реальная ценность. Я также хочу, чтобы XCOde поддерживала лучшую организацию файловой системы.

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

Ответ 7

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

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

некоторые проблемы могут быть источником управления, хотя xcode4 работает как с git, так и с SVN.