如何在iOS SDK中优化获取数据文件版本号?

How to get the datafile version number of optimizely in iOS SDK?

如何从 iOS

中的 Optimizely json 文件中获取数据文件 version/revision 编号

这个问题似乎遗漏了很多有用的信息。我不熟悉 Optimizely,但我深入研究了他们的文档并找到了示例 json 格式的数据文件

The example data file shown here 表明版本号可以在键 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-via-the-app

数据文件version和数据文件revision是两个不同的概念。

version 是数据文件的内部模式版本。每当数据文件将新字段添加到其模式时(如优化添加功能标志时),它就会增加。

revision 指的是数据文件所在的 Optimizely 项目的哪个版本。每当您对 Optimizely 项目进行更改时,都会生成一个新的数据文件并且修订号会增加。

您可以致电

OPTLYClient *client = [OPTLYManager initialize];
OPTLYProjectConfig *config = client.config;
NSString *version = config.version;
NSString *revision = config.revision;