Как получить номер версии/ревизии файла данных из json-файла Optimizely в iOS
В этом вопросе, похоже, отсутствует много полезной информации. Я не знаком с Optimizely, но я погрузился в их документацию и нашел пример файла данных в формате json.
Пример файла данных, показанный здесь показывает, что номер версии можно найти под ключом version
, а номер редакции — под ключом revision
.
Если у вас есть файл локально, вы получите доступ к информации о версии и редакции следующим образом:
NSString *path = [[NSBundle mainBundle] pathForResource:@"datafile" ofType:@"json"];
NSError *error;
NSData *data = [NSData dataWithContentsOfFile:path];
NSDictionary *dataDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
if (error) { return; } // or handle the error however you want
NSString *version = dataDict[@"version"];
NSString *revision = dataDict[@"revision"];
Если вам нужно получить файл данных с их сервера, вам нужно будет сделать запрос к соответствующей конечной точке, а затем сериализовать ответ JSON. Вот документация, которую я нашел для получения файла данных: https://docs.developers.optimizely.com/full-stack/docs/get-the-datafile#section-access-the-datafile-через-приложение
Файл данных version
и файл данных revision
— это два разных понятия.
version
— это версия внутренней схемы файла данных. Это увеличивается всякий раз, когда в файл данных добавляются новые поля в его схему, например, когда Optimizely добавляет флаги функций.
revision
указывает, в какой версии вашего проекта Optimizely находится файл данных. Всякий раз, когда вы вносите изменения в свой проект Optimizely, создается новый файл данных, а номер версии увеличивается.
Вы можете получить либо по телефону
OPTLYClient *client = [OPTLYManager initialize];
OPTLYProjectConfig *config = client.config;
NSString *version = config.version;
NSString *revision = config.revision;
Свойство «config» не найдено в объекте типа «OPTLYClient *»