Это похоже на Android.После создания двоичного файла сборки он остается неизменным.Так что, к сожалению, это отрицает вариант № 1.Мы ничего не можем сделать с двоичным файлом, как только мы его построим.
Я думаю, что для второго варианта - лучший подход.По сути, вам нужно будет создавать приложения во время выпуска, когда вы решите, какими должны быть ваши настройки.Это позволяет избежать каких-либо накладных расходов на загрузку содержимого во время выполнения в варианте № 3 и по-прежнему хорошо соответствует Twelve Factor.У вас все еще будет мобильный двоичный файл, который соответствует конфигурации вашего типа выпуска.
Для фактического чтения этих значений вы можете просто перенести файл конфигурации в корень проекта, и мы можем помочь с установкой, чтобы получить их. Я буду рад обсудить эти детали, если вы хотите.
ОБНОВЛЕНИЕ:
Все, что делает iOS, мы можем сделать (почти также)
Текущие инструменты сборки компилируют весь код в байт-код classes.dex
и сжимают все ресурсы в resrouces.arc
но res/raw
остался нетронутым.Это дает нам место для внедрения наших файлов.Оттуда приложение сможет читать и анализировать во время выполнения.