2010-07-06 1 views
1

У меня есть два приложения, которые разделяют много источников, поэтому я хочу поместить их в один проект Xcode и использовать Targets для их создания отдельно. Некоторые исходные файлы имеют одинаковое имя в обоих проектах (например, MapViewController.h и MapViewController.m). Я думал, что это промежуточный шаг, я просто поместил всю папку классов в объединенный проект (с другим именем папки) и использовал Targets, чтобы указать, какую папку классов использовать, затем позже я правильно объединю то, что я мог бы сделать общим исходные файлы.Цели, файлы Xcode и интерфейса

Проблема, которую я обнаружил, заключается в том, что я не могу включить .h файлов в Target (опция greyed out). Нужно ли использовать один и тот же файл интерфейса для обоих целей и иметь две версии файлов реализации. Есть лучший способ сделать это? Благодарю.

ответ

1

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

Создать 3 проекта Xcode.

  • Проект 1: Основной код (общий код, ресурсы)
  • Project 2: App 1 (импорт проекта 1 и создать зависимость от него)
  • Project 3: App 2 (импорт проекта 1 и создать зависимость от него)

Теперь, каждый раз, когда вы меняете проект 1, будут затронуты и ваши другие проекты.

Я создал проект так, как вы хотите прямо сейчас ... И в конечном итоге я очень пожалел об этом.

+0

Почему вы сожалеете о подходе «все-в-одном»? –

+0

Пара причин. 1) Один проект становится слишком большим и громоздким ... Стандартный шаблон проекта Xcode действительно разработан для одного проекта. Нет стандартного способа создания нескольких папок «Ресурс», например. 2) Создание нескольких проектов с подобными областями создает раздражение с соглашениями об именах файлов. Вы не можете создавать два разных класса с одинаковым именем для отдельных проектов. 3) Вы не можете одновременно запускать Project 2 и 3 ... В конце концов, это просто не стоило того. –

+0

Спасибо за ответ Брэд. Я решил пойти с несколькими целями в одном проекте. Я хочу понять, что мешает мне самому. Вероятно, я вернусь к вашему ответу и реализую его так, как только я пойму больше. –