У этой проблемы есть 2 различных аспекта, которые я бы описал следующим образом:
- Материал, который может быть изменен динамически
- Материал, который не может быть изменен динамически
Первая категория супер легкая.Если у вас есть схемы colo (u) r, хранящиеся в каком-либо легко читаемом формате, таком как plist или что-то еще, вы можете просто загрузить этот файл во время запуска приложения, создать из них UIColor
объекты и использовать их там, где это необходимо.То же самое касается изображений, используемых в самом приложении.Это не сложная проблема.
Вторая категория сложнее.Это то, что должно быть добавлено в приложение из-за подписи кода.Это означает, что такие вещи, как имя приложения, значок, Default.png и т. Д., Все должны быть изменены до того, как приложение будет подписано в процессе компиляции.Итак, я бы запустил несколько скриптов, чтобы взять информацию о вашем брендинге (имя, файлы изображений, значки и т. Д.) И загрузить ее, затем сгенерировать ваш файл Info.plist и еще много чего.Это должно быть сделано на одном из первых этапов вашей компиляции.
Для чего бы то ни было, я работаю над приложением, в котором мы выполняем точно этот процесс, и он работает довольно хорошо.Немного утомительно обновлять, когда мы меняем то, что ресурсы маркируются, но я не уверен, что есть какой-то достойный способ обойти это.