Создание нового проекта на основе существующего проекта (повторное использование проекта) - PullRequest
1 голос
/ 08 декабря 2010

У меня есть проект A. Это производит продукт, который работает и уже отправлен в магазин приложений и т. Д. Теперь я хотел бы создать новый проект, назовем его проектом B, и я хочу, чтобы B был основан наA. Очевидно, что B добавит больше пользовательского интерфейса и поведения поверх A.

После некоторых исследований кажется, что единственным вариантом является использование межпроектных ссылок, потому что я хотел бы повторно использовать XIB-файлы Project A, изображенияи т.д. в Проекте B. Правильно ли я считаю, что межпроектные ссылки должны работать в этом сценарии?

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

Итак, как я могу решить эту проблему.Как я могу создать свой проект B на основе проекта A (включая XIB, изображения и т. Д.)?

Спасибо,

Ответы [ 4 ]

1 голос
/ 08 декабря 2010

Если A и B очень похожи, возможно, вы могли бы подумать о создании новой цели сборки; это даст вам один проект с целью A и целью B. Обе цели будут иметь доступ к любому из ресурсов в проекте.

Если у вас довольно много общего кода, вы можете создать статическую библиотеку; iOS не поддерживает динамическое связывание с пользовательскими библиотеками, но прекрасно поддерживает статическое связывание. Это сделало бы межпроектные зависимости полезными, потому что вы могли бы иметь справочную библиотеку A проекта B из проекта A и построить ее как зависимость.

0 голосов
/ 11 декабря 2010

Возможно, вы могли бы использовать scm-инструмент, такой как Git или Piston (http://piston.rubyforge.org) и «клонировать» код. Сделайте что-то вроде:

#add original project to git
cd /your/base/project/code
git init
git add . #Stages all files to check-in index
git commit -m 'Your commit message here'

Тогда

#clone the original project into a new one
cd /your/new/project/directory
git clone /your/base/project/code
git checkout -b aNewWorkingBranchName #create a new working branch to modify
#modify code to your <3's content, use git pull/push/merge/rebase/diff as required to track/update original project

Это должно позволить вам разработать «новый» проект самостоятельно, в то же время позволяя вносить изменения при необходимости. Piston позволяет «вендору» разветвляться как в репозитории Git, так и в Subversion, привязывая ваш новый код к определенной удаленной ревизии. Посмотрите его документацию.

0 голосов
/ 08 декабря 2010

Вопреки распространенному мнению, можно создавать фреймворки для iOS.

0 голосов
/ 08 декабря 2010

Я однажды сделал то же самое:

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

...