Одно приложение, несколько брендов - PullRequest
3 голосов
/ 12 октября 2010

Я сделал приложение для iPhone, но оно должно быть выпущено с несколькими брендами.Например, Difrernt:

  • Имя приложения
  • Значки
  • Default.png
  • Текст заменен на имя приложения в IB
  • Цветовые схемы для всех изображений, таких как фоны, значки и т. Д.

Я не уверен, что это лучший способ сделать это.

Я думал о файле plist для каждого бренда, которыйбудет иметь имя файлов для загрузки, например, "brand1_background.png" для brand1, но это может привести к путанице при замене текста.Это также означало бы, что изображения всех брендов будут находиться в упаковке, что сделает их более крупными.

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

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

Ответы [ 2 ]

8 голосов
/ 12 октября 2010

У этой проблемы есть 2 различных аспекта, которые я бы описал следующим образом:

  1. Материал, который может быть изменен динамически
  2. Материал, который не может быть изменен динамически

Первая категория супер легкая.Если у вас есть схемы colo (u) r, хранящиеся в каком-либо легко читаемом формате, таком как plist или что-то еще, вы можете просто загрузить этот файл во время запуска приложения, создать из них UIColor объекты и использовать их там, где это необходимо.То же самое касается изображений, используемых в самом приложении.Это не сложная проблема.

Вторая категория сложнее.Это то, что должно быть добавлено в приложение из-за подписи кода.Это означает, что такие вещи, как имя приложения, значок, Default.png и т. Д., Все должны быть изменены до того, как приложение будет подписано в процессе компиляции.Итак, я бы запустил несколько скриптов, чтобы взять информацию о вашем брендинге (имя, файлы изображений, значки и т. Д.) И загрузить ее, затем сгенерировать ваш файл Info.plist и еще много чего.Это должно быть сделано на одном из первых этапов вашей компиляции.

Для чего бы то ни было, я работаю над приложением, в котором мы выполняем точно этот процесс, и он работает довольно хорошо.Немного утомительно обновлять, когда мы меняем то, что ресурсы маркируются, но я не уверен, что есть какой-то достойный способ обойти это.

6 голосов
/ 12 октября 2010

Создайте цель для каждого из ваших брендов. Для каждой цели вы можете добавить разные файлы (например, изображения) и установить имя приложения. Вы даже можете использовать те же имена файлов (но хранящиеся в другом месте) и довольно быстро создавать свои фирменные приложения.

...