Я пытаюсь выяснить несколько вещей о том, что реализация происходит "за сценой" для управления элементами пользовательского интерфейса "на лету" прямо с веб-консоли на Apptimize или Optimizely.
В частности, я хочу понять следующее:
1) Как клиентский код (iOS) отправляет иерархию представлений на веб-сервер таким образом, что, когда вы выбираете какой-либо элемент пользовательского интерфейса на веб-панели, он сразу отображается на клиенте iOS?
Я видел, например, FLEX, и как ему удается получить иерархию представлений, но я не понимаю, как клиент iphone "знает", какое представление выбрано в веб-панели.
2) Кроме того, в Apptimize я могу выбрать любой элемент пользовательского интерфейса из веб-панели, изменить его текст или цвет, и он немедленно изменится в приложении. Не только это, не добавляя никакого кода, просто имея SDK.
Изменения, которые я делаю (текст, цвет фона и т.д.), останутся для всех будущих сеансов приложения. Как это можно реализовать?
Я предполагаю, что они используют какое-то отражение, но как они могут заставить его работать для всех пользователей и для всех будущих сеансов? как код клиента находит нужный элемент пользовательского интерфейса? и как это работает с UITableViewCell?
3) Можно ли обнаруживать каждый раз, когда загружается UIViewController? т.е. получить обратный вызов для каждого viewDidLoad? если да, то как?
Смотрите скриншоты ниже: