#ios #colors #themes
#iOS #Цвет #темы
Вопрос:
Итак, это гипотетический вопрос, который я просто пытаюсь держать в голове, когда я учусь разрабатывать приложения.
Я еще не создал приложение, но у меня есть несколько идей и функций, которые, на мой взгляд, были бы классными в некоторых приложениях, для которых у меня есть идеи.
При этом мне интересно, есть ли какие-либо возможные решения для изменения общего стиля и темы или просто цвета приложения, которое уже есть в app Store, без обновления ресурсов и необходимости повторной отправки и, следовательно, обновления приложения.
Я никогда не проходил процедуру отправки приложения в Apple или внесения изменений, поэтому, возможно, я просто недостаточно знаю, как это работает, но я предполагаю, что если вы внесете изменения, будь то незначительные или серьезные исправления ошибок, вам придется повторно отправить их в Apple, и как только они будут запущены, все устройства, которыеустановлено ли приложение, будет предложено обновить правильно?
Если это так, есть ли решение для выполнения вышеуказанного без необходимости проходить этот процесс отправки?
Позвольте мне привести краткий пример. Допустим, у меня есть приложение с заголовком с фоновым цветом, внутри которого есть логотип и, возможно, значок меню, затем по всему приложению есть заголовки и другой форматированный текст, которые имеют цвет, аналогичный цвету заголовка. Проходит некоторое время, и в Бразилии начинается чемпионат мира по футболу, зелень действительно классная, и я думаю, что мои пользователи получат небольшое удовольствие от временного изменения цветовой схемы, чтобы отпраздновать игры. Я хочу изменить цвет заголовка и цвета ссылок и, возможно, цвет моего логотипа или даже новый логотип на футбольную тематику, все вместе, без необходимости снова отправлять мое приложение в магазин.
Мне было бы любопытно посмотреть, можно ли это сделать и как это можно сделать.
Комментарии:
1. Да, это можно сделать, вы можете прочитать данные из какого-либо веб-сервиса и использовать прокси-сервер UIAppearance для оформления некоторой части вашего приложения и / или чтения настроек и установки соответствующего цвета, шрифта и т. Д. Для элементов пользовательского интерфейса. Но ответ с примером кода будет слишком широким для stackoverflow.
Ответ №1:
Да, это можно сделать. Использование веб-сервиса для получения изображения, цвета или даже значения кадра.
Во-первых, вам нужна тема по умолчанию в вашем приложении для тех, кто не может загрузить другую тему. Если что-то не так или нет интернета, вы можете использовать его.
Во-вторых, просто загрузите тему из веб-службы и сохраните ее. А затем покажите свою новую тему.
Ответ №2:
Чтобы вернуться к тому, что сказал Брайан, попробуйте использовать Parse . Вы можете загрузить все свои изображения и загрузить их оттуда. Parse позволяет чрезвычайно легко сделать что-то подобное!
Ответ №3:
Способ сделать это — разместить таблицу стилей для вашего приложения на веб-сервере, а не упаковывать / жестко кодировать ее в XCode, тогда вы могли бы просто отредактировать таблицу стилей на своем сервере, и все приложения, ссылающиеся на нее, также будут обновляться.
Вы могли бы сделать то же самое с изображениями и тому подобным для вашего логотипа.
Предостережение: при использовании больших изображений или большого количества изображений производительность вашего приложения может снизиться в зависимости от количества отправляемых HTTP-запросов, что означает, что если ваше приложение станет вирусным, оно, вероятно, будет работать медленнее, чем если бы таблица стилей / изображения были упакованы в приложение.
Комментарии:
1. Есть ли простой способ скрыть загрузку этого изображения за какой-либо загрузочной крышкой. Опять же, я еще ничего не разработал, поэтому я не знаю, как вы это сделаете, в javascript я бы подождал, пока загрузится окно, а затем скрою обложку страницы с изображением изображения, затем, поскольку это изображение кэшируется или сохраняется на локальном компьютере, при следующем запуске оно будетбыстрее. Есть ли что-то подобное в iOS?
2. @Jordan, честно говоря, я не очень разбираюсь в разработке iPhone / iOS, я просто знал, что это сработает, исходя из моего опыта в веб-разработке, я несколько раз копался в XCode, но я не очень знаком с интерфейсом / тем, что он может делать, извините.