Один проект Xcode 4, четыре варианта «вариаций» ... с поворотом - PullRequest
4 голосов
/ 22 марта 2011

У меня есть подозрение, что то, что я хочу сделать, может быть сделано более элегантно в Xcode 4 ... но тогда я ошибался раньше. Вот совок:

У меня есть приложение для iOS с обычными сборками отладки / выпуска и обычными целями, юнит-тестами и тестами пользовательского интерфейса. Ничего необычного там нет. Приложение также обращается к серверу. Ничего особенного там тоже нет. Кроме ...

Теперь я хочу иметь возможность создавать приложение для четырех различных серверных сред: Разработка, QA, UAT / Beta и Производство. Кроме того, каждая сборка должна быть в состоянии сосуществовать на одном и том же устройстве для сборок для разработчиков или специального распространения.

Итак, давайте посмотрим ... как это может получиться? Каждое приложение будет нуждаться в собственном целевом идентификаторе для начинающих. Возможно, определение типа сборки поможет определить, какой сервер использовать:

Отладка строит целевую разработку. (Ad Hoc Distribution) Релиз строит целевой QA (... или UAT / Beta?). (App Store Distribution) Релиз строит целевую продукцию.

Что касается этих идентификаторов цели (com.companyname.appname), я полагаю, что я могу использовать разные файлы Info.plist для каждой сборки ... но это пахнет громоздко (дублирующаяся информация). Возможно, это единственный способ?

Итог: я не уверен, а) как разрешить дела Ad Hoc и App Store Distribution, а также б) дела QA / UAT, а также в) как это сделать, не испортив (по крайней мере, для меня) более элегантную настройку, которую Xcode 4 предлагает с этими простыми операциями отладки / выпуска «Press Play».

Может быть, мне нужно добавить новые схемы? Возможно, это просто вопрос добавления дополнительных файлов Info.plist ... или сборок ... или конфигураций ... или целей ... или некоторой смеси. Опять же, я стараюсь не дублировать много информации (только для изменения одной или двух настроек), если смогу помочь. Отладка / Выпуск кажется очень чистым, и я хочу убедиться, что я изменяю вещи по правильной оси. Отмерь дважды, отрежь, как говорится.

Подсказки приветствуются / приветствуются!

1 Ответ

0 голосов
/ 22 марта 2011

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

  • На данный момент я объединил QA и UAT.(Это может быть разбито позже.)
  • Я создал три информационных листа, один для разработки (отладка), бета / QA / UAT (выпуск) и производства (выпуск).Каждый из них имеет несколько разные отображаемые имена пакетов, идентификаторы пакетов и имена пакетов, но в остальном он идентичен.(Это то место, где будет львиная доля дублирующейся информации. Нужно изменить вещи во всех трех, например, если я добавлю новый шрифт или тип URL.)
  • Я создал новую конфигурацию, бета (на основев исходной конфигурации выпуска / производства), так что теперь есть также конфигурации Dev, Beta и Production.
  • На портале Provisioning Portal я настраивал идентификаторы приложений, используя ранее объявленные идентификаторы комплекта, и генерировал новые сертификаты дляБета, Дев и Производство.(Существующий идентификатор приложения в конечном итоге используется для выпусков App Store.)
  • В Настройках сборки я использовал Условные настройки, чтобы указать соответствующие информационные списки и идентификаторы подписи кода.

Я думаю, что это сделает свое дело!Однако, если есть более чистый способ, пожалуйста, взвесьте. Спасибо!

...