A/B 测试框架,可以远程开启或关闭功能,并使更改立即在应用中体现。
使用 `params` 参数初始化默认设置,参数包含测试和生产的基准 URL。
NSDictionary *params = @{kRFFeatureToggleBaseURLStringForStagingKey : @"https://staging/",
kRFFeatureToggleBaseURLStringForProductionKey : @"https://production/"};
[RFFeatureToggleDefaults sharedDefaultsWithMode:RFFeatureToggleModeProduction params:params];
这里有 3 个方便的方法可以快速入门:
[RFeatureToggle isEnabled:@"feature"];
如果 API 支持在功能内部再嵌套功能,这些可以使用点号来分隔,例如
[RFeatureToggle isEnabled:@"feature.subfeature.subsubfeature"];
[RFeatureToggle refresh];
此方法可以在 `applicationDidBecomeActive:` 或其他合适的时机调用。首次调用后,如果应用一直在前台运行,24 小时后功能会自动刷新。可以设置一个自定义的时间间隔,例如:[RFFeatureToggleDefaults sharedDefaults].refreshTimeInterval = 120.0f;
。
NSArray *features = [RFeatureToggle allFeatures];
订阅 RFFeatureToggleUpdatedNotification
以接收更新。只有当功能发生更改时,才会触发通知。
要切换到测试或生产环境,请使用以下方法
[RFFeatureToggleDefaults switchToMode:RFFeatureToggleModeProduction]
或者,要切换到在初始化时未提供的自定义 URL,有一个方便的方法
[RFFeatureToggleDefaults switchToCustomModeWithBaseURLString:@"https://testURL"]
调用 `"[RFFeatureToggleDefaults sharedDefaults].mode]"` 将返回正在运行的模式(生产、测试、自定义)。
要微调,请查阅 CococaDocs。
要检查功能,RFFeature
类中有方便的方法
feature2: disabled
feature2: disabled
|_feature3: disabled
|_feature5: disabled
|_feature6: enabled
|_feature4: enabled
RFFeatureTableViewController
可以列出可以导航的所有特性。它具有刷新控制,以便可以刷新特性,确保存在最新的更改。这用于质量保证目的。
这在示例项目中得到了演示。要运行示例项目,请首先在示例目录中运行 pod install
。
除了在 RFFeatureToggle
类中提供的便利方法外,还有基于 Data Mapper 设计模式的 RFFeature
模型-控制器扩展,以及处理持久性和自动更新的 RFFeatureCache
类。示例
[RFFeature fetchFeaturesUsingBlock:^(BOOL succeeded, NSError *error) {
if (!succeeded)
{
//handle error
}
}];
NSTimeInterval secondsSinceLastSuccessfulUpdate = [RFFeatureCache timeIntervalSinceLastSuccessfulUpdate];
if (secondsSinceLastSuccessfulUpdate > 120.0f)
{
//do something
}
可以通过调用 [RFFeatureToggle setLoggingLevel:];
来配置日志,使用预定义的日志级别之一
如果可用,RFFeatureToggle 将其日志直接发送到 CocoaLumberjack。你所需要做的只是确保在导入 RFFeatureToggle 之前导入 CocoaLumberjack,如下
#import <CocoaLumberjack/CocoaLumberjack.h>
#import <RFFeatureToggle/RFFeatureToggle.h>
RFFeatureToggle 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod "RFFeatureToggle"
要获取完整文档,请参阅 CocoaDocs。
RFFeatureToggle 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。