在生产模式下隐藏功能切换



我想在应用程序的设置包中创建一个功能切换。因此,如果我们打开/关闭切换,我们可以显示/隐藏当前正在开发的特定功能。但是,我还不想在生产设置上显示切换选项。下载该应用程序的用户无需查看此功能。那么,如果切换处于生产模式,我该如何隐藏切换?

包装#if DEBUG中的切换

#if DEBUG
Toggle(isOn: .constant(true), label: {
Text("Label")
})
#endif

我建议使用支持iOS的功能标志工具,如LaunchDarkly或DevCycle。

这样,您不仅可以控制某个功能在生产中是打开还是关闭,还可以控制哪个特定用户或用户组可以看到该功能。

您还可以将FeatureFlag集成到后端,以便应用程序特定版本的用户可以获得特定的API或数据集。

在本例中,您将在应用程序中启用Feature Flags(使用DevCycle(。文档位于:https://docs.devcycle.com/docs/sdk/client-side-sdks/ios

然后,如果你想切换一个功能,比如管理屏幕上的一个选项,你可以这样包装代码:

let user = try DVCUser.builder()
.isAnonymous(true)
.appVersion("1.1.1")
.build()
guard let client = try DVCClient.builder()
.environmentKey("<DEVCYCLE_MOBILE_ENVIRONMENT_KEY>")
.user(user)
.build(onInitialized: nil)
let boolVariable: DVCVariable<Bool> = client.variable(key: "new-feature", defaultValue: false)

然后,您可以为拥有appVersion 1.1.1的用户打开此功能标志,而对所有其他用户则关闭此功能标志。

最新更新