Разделение проекта на несколько файлов проекта XCode - PullRequest
4 голосов
/ 14 октября 2010

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

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

Это хорошая идея? Каковы причины, если таковые имеются, чтобы избежать разделения функций / компонентов / элементов управления на отдельные проекты XCode?

Ответы [ 5 ]

2 голосов
/ 14 октября 2010

Вы можете добавить вспомогательный файл проекта в основной файл проекта в XCode.Просто выберите «Добавить файл» и добавьте его.Когда Xcode строит мастер, он также создает дочернюю компанию, если это необходимо.

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

Действительно, правильно разработанное приложение target-c должно быть легко разбить на несколько проектов.В идеале все компоненты настолько инкапсулированы, что им не нужны никакие другие данные, кроме модели данных.

2 голосов
/ 14 октября 2010

Мы поместили часть кода в его собственный проект, создав структуру, с которой мы связываемся в некоторых других проектах.Иногда раздражает, что вы не увидите файлы реализации кода платформы сразу в другом проекте (путем нажатия cmd + или cmd + shift + D, или чего-либо еще, что вы обычно делаете для навигации).Xcode покажет вам только заголовок, вам придется открыть другой проект и найти файл там вручную.Ничего страшного, но если вы часто просматриваете код, это вас беспокоит.

Настоящая проблема заключается в том, что вы изменяете область действия некоторых операций.Такие вещи, как «Найти в проекте», будут работать с другим набором файлов, который иногда может оказаться не тем, что вам нужно (попытка найти, где этот метод вызывается / ключ используется во всем вашем коде или что-то в этом роде);ну, там остается Finder / find, так что все может быть в порядке.Рефакторинга нет - все переименования просто ломаются, так как это изменит только код текущего проекта, но не проектов, ссылающихся на этот.Если вы часто меняете интерфейсы, лучше не делить проект на части.

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

1 голос
/ 13 марта 2013

Для просмотра и изменения файлов реализации подпроекта необходимо добавить подпроекты непосредственно в основной проект.

1 шаг - перетащите файлы проекта .xcode в основной проект.

2 шаг - Перейти к основному проекту TARGETS -> Build Phases. Добавьте цель подпроекта в Target Dependencies. Вы также можете добавить двоичные файлы в Link Binary With Libraries.

3 шаг - добавить исходный путь подпроекта к основному пути поиска заголовка проекта. Перейти к основному проекту -> Настройки сборки -> Пути поиска по заголовкам (например, $ (SRCROOT) /../ CoconutKit-master / CoconutKit / Sources)

1 голос
/ 28 февраля 2011

Теперь с Xcode4 вы можете создать рабочее пространство и добавить туда все свои проекты. Только для целей документации:)

0 голосов
/ 14 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...