-2

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

4

2 回答 2

0

将切换器包裹在#if DEBUG

#if DEBUG
Toggle(isOn: .constant(true), label: {
    Text("Label")
})
#endif
于 2021-06-22T01:34:22.983 回答
0

我建议转而使用支持 iOS 的 Feature Flag 工具,例如 LaunchDarkly 或 DevCycle。

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

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

在此示例中,您将在应用程序中启用功能标志(使用 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 的用户打开此功能标志,而对于所有其他用户,它将关闭。

于 2022-01-31T18:54:13.413 回答