Feature flags in Swift
🚩
❓ По умолчанию в
🔥 Создание перечисления
ℹ️ Такой механизм следует рассматривать как временный инструмент и удалять флаги, когда функция готова. Рассмотрите возможность удаленной настройки для мгновенного включения или отключения функций. Крайне полезный инструмент.
Feature flags
в Swift позволяют включать и отключать определенные функциональности. В статье автор приводит в пример в зависимости от конфигурации сборки, таких как Debug
, TestFlight
и App Store
.Xcode
есть две конфигурации: Debug
и Release
. Рекомендуется создавать дубликаты для App Store
и TestFlight
для управления функциональностью.Distribution
и структуры FeatureFlags
позволяет управлять доступом к функциям в зависимости от текущей конфигурации сборки.public struct FeatureFlags: Sendable, Decodable {
public let requirePaywall: Bool
public let requireOnboarding: Bool
public let featureX: Bool
public init(distribution: Distribution) {
switch distribution {
case .debug:
self.requirePaywall = true
self.requireOnboarding = true
self.featureX = true
case .appstore:
self.requirePaywall = true
self.requireOnboarding = true
self.featureX = false
case .testflight:
self.requirePaywall = false
self.requireOnboarding = true
self.featureX = true
}
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1