VENExperimentsManager 1.0.1

VENExperimentsManager 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2015年2月

Ayaka NonakaDasmer SinghMark AdamsDasmer Singh维护。



  • Venmo

VENExperimentsManager 允许在 iOS 应用程序中轻松定义、管理和控制实验,包括以下内容:

  • 定义实验和 '实验标志' 代码
  • 允许用户开启或关闭实验
  • 强制开启或关闭实验
  • 使实验可由用户编辑或固定
  • 让用户知道实验是 '稳定' 还是 '不稳定'

用法

[VENExperimentsManager startExperimentsManagerWithPlistName:@"testExperiments"];

然后您可以根据以下方式访问实验..

VENExperiment *experiment = [VENExperimentsManager experimentWithIdentifier:VEN_EXPERIMENT_SOME_EXPERIMENT];

// Or if you just want to know if it's enabled
[VENExperimentsManager experimentIsEnabled:VEN_EXPERIMENT_SOME_EXPERIMENT];

多选项实验(自 v0.2.0 版本起)可以这样使用..

NSString *selectedOptionForExperiment = [VENExperimentsManager selectedOptionForExperiment:VEN_EXPERIMENT_SOME_EXPERIMENT];

// Or you can get the experiment and inspect it..
VENExperiment *experiment = [VENExperimentsManager experimentWithIdentifier:VEN_EXPERIMENT_SOME_EXPERIMENT];

// Determine if the experiment has options
BOOL hasOptions = [experiment supportsOptions];

// Get the selected option
NSString *selectedOption = [experiment selectedOption];

// Get the readable description of the selected option
[experiment selectedOptionDescription];

定义实验的 plist 文件是一个以实验标识符 : 实验定义字典为键值的字典。它可以很容易地配置在 XCode 中。

可以在示例应用程序中找到示例 experiments.plist 文件。

键描述

VEN_EXPERIMENT_NAMEString - 实验在设置视图中的名称

VEN_EXPERIMENT_STABLEBoolean - 实验是否稳定(在设置视图中分组)

VEN_EXPERIMENT_ENABLEDBoolean - 实验的默认启用状态

VEN_EXPERIMENT_USER_EDITABLEBoolean - 用户是否可以更改实验的状态

VEN_EXPERIMENT_FORCE_UPDATEBoolean - 如果是 YES,则在每次打开时将实验强制移动到其默认状态

VEN_EXPERIMENT_OPTIONSDictionary - 本实验选项的键-值对 KEY : 可读描述

VEN_EXPERIMENT_DEFAULT_OPTION:《code>String - 选项字典中的默认选项的键

实验设置视图控制器

库还包含一个基本的实验设置视图控制器,您可以将它显示给用户以启用和禁用实验。

#import "VENExperimentsSettingsTVC.h"

...

VENExperimentsSettingsTVC *settingsTVC = [[VENExperimentsSettingsTVC alloc] init];
[self.navigationController pushViewController:settingsTVC animated:YES];

这将给出如下 Experiment 设置屏幕...

贡献

我们非常希望看到您改善这个库的想法!最佳的贡献方式是通过提交拉取请求。我们将尽力尽快回应您的补丁。如果您发现错误或有问题,也可以提交新的 GitHub 问题。

请确保遵循我们的通用编码风格,并为新功能添加测试覆盖率!

  1. 分叉它
  2. 创建您的功能分支(git checkout -b my-new-feature
  3. 提交您的更改(git commit -am '增加了某些功能'
  4. 推送到分支(git push origin my-new-feature
  5. 创建新的Pull Request