Лучший способ поделиться кодом между несколькими проектами в iOS - PullRequest
7 голосов
/ 22 октября 2011

Мы планируем запустить серию приложений в AppStore. Они будут для разных журналов, показывая различное содержимое, загруженное с сервера через XML. Таким образом, эти приложения будут сделаны из точно одного и того же кода (это универсальное приложение, поэтому оно будет работать как на iPhone / iPad).

Моя первоначальная идея состояла в том, чтобы загрузить приложение, просто скомпилировав изменения изображений, логотипов и конфигураций (plist), чтобы приложение реагировало как отдельный журнал. Сжатый файл будет загружен в AppStore.

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

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

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

Надеюсь, я объяснил.

Как всегда, большое спасибо.

Ответы [ 4 ]

6 голосов
/ 22 октября 2011

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

4 голосов
/ 22 октября 2011

Проект Xcode может иметь несколько целей, все цели совместно используют код, но каждая цель получает свои собственные ресурсы (значки, изображения, текст, списки и т. Д.) Из другого подкаталога / папки в одной и той же директории / папке проекта. Затем вы можете проверить весь объект или просто общий источник в своем хранилище контроля версий.

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

0 голосов
/ 22 октября 2011

У вас может быть один проект Xcode, который создает несколько приложений. Вам нужно будет создать отдельный Info.plist с различным идентификатором пакета для каждого приложения.

0 голосов
/ 22 октября 2011

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

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