Как легко показать / скрыть некоторые части приложения для iOS для разных версий приложения - PullRequest
1 голос
/ 21 декабря 2011

У меня есть приложение для клиента, которое внешне протестировано другой компанией (оплачивается клиентом) через TestFlight. После этого приложение отправляется в магазин. Так что, как многие из вас знают, обеспечение качества происходит не один раз. В основном есть 3-4 подхода, пока приложение не будет готово для магазина.

Между тем я должен показать своему клиенту новейшую версию приложения, пока тестирующая компания тестирует.

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

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

Я пытался копаться в «препроцессоре», но пока не нашел ничего полезного.

Моя идея состояла в том, чтобы # определить версию приложения, но так как я никогда не использовал препроцессоры, мне довольно сложно сказать.

Надеюсь, вы, ребята, сможете мне помочь. Спасибо и ура Стивен

EDIT: Я использую SVN для своих проектов, но, к сожалению, я не могу «заморозить» версию QA, поэтому мне приходится вносить изменения, связанные с QA, в то же время вносить изменения в новейшую версию моего приложения.

Ответы [ 3 ]

2 голосов
/ 21 декабря 2011

1) Быстрый ответ - вы можете сделать это с помощью инструкций препроцессора, таких как:

Если вы определили версию приложения, как

#define APP_VERSION 5

Вы можете делать такие заявления, как

#ifdef APP_VERSION
  // Only if APP_VERSION exists
#endif

#if APP_VERSION > 4
  // Only for version 4 and above
#endif

2) Лучший ответ

Использовать контроль версий - взгляните на git (и github.com)

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

1 голос
/ 21 декабря 2011

Когда вы используете SVN, вы обычно просто создаете тег, когда отправляете что-то в QA.Как вы сказали, что вы не можете этого сделать, вы обычно создаете ветку для вашей текущей развивающейся версии.Работа в этой отрасли всегда будет последним усилием.когда вы выпускаете в QA, вы объединяете эти изменения в HEAD.Теперь, когда вы внесете изменения в HEAD, они будут автоматически объединены в ваши текущие разработки, когда вы снова объедините их в HEAD.

PS: с git это намного проще, чем с SVN

1 голос
/ 21 декабря 2011

То, что вы хотите сделать, - это основная функция контроля версий - вы заморозили одну версию вашей программы (отправлена ​​в QA), пока вы разрабатываете другую (показывает ваш клиент).Это называется «ветвлением», и почти все марки управления версиями справляются с этим довольно хорошо (я смотрю на вас VSS!)

XCode напрямую поддерживает две марки управления версиями Git и * 1006 Subversion *.Оба будут делать то, что вы хотите, но они совершенно разные звери.Subversion - старый боевой конь, а Git - новый блестящий.

Я бы посоветовал вам прочитать Руководство пользователя XCode 4: Управление версиями вашего проекта

Ноесли вам нужно еще более простое введение в управление версиями, я только что нашел Визуальное руководство по управлению версиями

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