Skill 77 · Instrument Feature Flags
Subchapter 77.12
references/ios.mdMarkdown4 KBView on GitHub
AI agents: this is one page from PostHog’s docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt (opens in a new tab)
1
Required
Install via Swift Package Manager:
Package.swift
dependencies: [
.package(url: "https://github.com/PostHog/posthog-ios.git", from: "3.56.0")
]Or add PostHog to your Podfile:
Podfile
pod "PostHog", "~> 3.56"2
Required
Initialize PostHog in your AppDelegate:
AppDelegate.swift
import Foundation
import PostHog
import UIKit
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
3
Recommended
Once installed, PostHog will automatically start capturing events. You can also manually send events to test your integration:
Swift
PostHogSDK.shared.capture("button_clicked", properties: ["button_name": "signup"])4
Required
Check if a feature flag is enabled:
Swift
let isMyFlagEnabled = PostHogSDK.shared.isFeatureEnabled("flag-key")
if isMyFlagEnabled {
// Do something differently for this user
// Optional: fetch the payload
let matchedFlagPayload = PostHogSDK.shared.getFeatureFlagResult(
5
Optional
For multivariate flags, check which variant the user has been assigned:
Swift
let enabledVariant = PostHogSDK.shared.getFeatureFlag("flag-key")
if enabledVariant == "variant-key" { // replace 'variant-key' with the key of your variant
// Do something differently for this user
// Optional: fetch the payload
let
6
Optional
Experiments run on top of our feature flags. Once you’ve implemented the flag in your code, you run an experiment by creating a new experiment in the PostHog dashboard.
7
Recommended
Now that you’re evaluating flags, continue with the resources below to learn what else Feature Flags enables within the PostHog platform.
| Resource | Description |
|---|---|
| Creating a feature flag (opens in a new tab) | How to create a feature flag in PostHog |
| Adding feature flag code (opens in a new tab) | How to check flags in your code for all platforms |
| Framework-specific guides |
Ask PostHog AI
HelpfulCould be better
| Setup guides for React Native, Next.js, Flutter, and other frameworks |
| How to do a phased rollout (opens in a new tab) | Gradually roll out features to minimize risk |
| More tutorials (opens in a new tab) | Other real-world examples and use cases |