У меня есть приложение для iPhone, которое поставляется с разными оттенками кожи, с различными художественными активами и звуками, но с одним и тем же кодом.
У меня есть вещи, созданные с несколькими целями, но проблема, с которой я столкнулась, - это иметь другой набор файлов UIBuilder nib, по одному на просмотр для каждой цели, чтобы указать на правильное искусство для этого мишени.
Это немного расстраивает, потому что, если я вношу изменения в один файл nib, мне приходится вручную делать те же самые изменения, те же соединения и т.д. во всех других файлах nib. Я также поместил все активы с разными именами для разных скинов, поэтому они не сталкиваются в проекте. Итак, если у меня есть цели A и B, у меня есть a_main_menu.png
, b_main_menu.png
... a_FooViewController.xib
, b_FooViewController.xib
... и т.д.
Есть ли способ сделать файл nib, указывающий на активы с таким же именем, но находящиеся в... umm, разные пакеты? что для чего нужен пакет? Я могу себе представить, как в моем коде можно что-то сделать (возможно, поиск и замена A для B в nib перед загрузкой может даже быть достаточно хорошим), хотя я не пробовал, это уродливо.
Это была управляемая стратегия для моего первого набора приложений (хотя и далеко не оптимальная), но по мере того, как мои вещи становятся более сложными, это становится ДЕЙСТВИТЕЛЬНО трудным для того, чтобы синхронизировать мои файлы с разработчиками, и это просто не очень СУХОЙ способ Работа. Есть ли лучший способ в стороне от канава uibuilder и создания моих представлений в коде?
Было бы неплохо, если бы это сработало на уровне xcode/builder, поэтому строитель будет уважать мою текущую цель и покажет искусство для этой цели, пока я работаю... но я могу жить без этого, например, если я может выбрать текущий набор произведений искусства во время выполнения, и я смогу работать только с одним набором в построителе. Я мог бы также сделать это с помощью одного набора перьев, имея единственную цель и вручную заменяя все искусство перед тем, как строить, но это тоже не очень приятно.
Лучше всего было бы, если бы я мог смешивать две стратегии - например, если у меня есть одна цель, у которой есть один вид из нескольких, которые просто должны быть выложены по-другому... но это необязательно.
Я задаю правильный вопрос?
Спасибо!