
Description
PostHog feature flags for iOS applications
SKILL.md
PostHog feature flags for iOS
This skill helps you add PostHog feature flags to iOS applications.
Reference files
references/ios.md- Ios feature flags installation - docsreferences/adding-feature-flag-code.md- Adding feature flag code - docsreferences/best-practices.md- Feature flag best practices - docs
Consult the documentation for API details and framework-specific patterns.
Key principles
- Environment variables: Always use environment variables for PostHog keys. Never hardcode them.
- Minimal changes: Add feature flag code alongside existing logic. Don't replace or restructure existing code.
- Boolean flags first: Default to boolean flag checks unless the user specifically asks for multivariate flags.
- Server-side when possible: Prefer server-side flag evaluation to avoid UI flicker.
PostHog MCP tools
Check if a PostHog MCP server is connected. If available, look for tools related to feature flag management (creating, listing, updating, deleting flags). Use these tools to manage flags directly in PostHog rather than requiring the user to do it manually in the dashboard.
Framework guidelines
- Read configuration from environment variables via a
PostHogEnvenum with avaluecomputed property that callsProcessInfo.processInfo.environment[rawValue]andfatalErrors if missing — cases should beprojectToken = "POSTHOG_PROJECT_TOKEN"andhost = "POSTHOG_HOST", set in the Xcode scheme's Run environment variables - When adding SPM dependencies to project.pbxproj, create three distinct objects with unique UUIDs — a
PBXBuildFile(withproductRef), anXCSwiftPackageProductDependency(withpackageandproductName), and anXCRemoteSwiftPackageReference(withrepositoryURLandrequirement). The build file goes in the Frameworks phasefiles, the product dependency goes in the target'spackageProductDependencies, and the package reference goes in the project'spackageReferences. - Check the latest release version of posthog-ios at
https://github.com/PostHog/posthog-ios/releasesbefore setting theminimumVersionin the SPM package reference — do not hardcode a stale version - If the project uses App Sandbox (macOS), add
ENABLE_OUTGOING_NETWORK_CONNECTIONS = YESto the target's build settings so PostHog can reach its servers — do NOT disable the sandbox entirely
More skills from the skills repository
View all 110 skillsaccount-handover
draft sales account handover notes
Apr 16CommunicationsCRMPostHogSalesauditing-warehouse-data-health
audit PostHog data warehouse health
Jun 21AuditData EngineeringData QualityObservability +1copying-flags-across-projects
copy feature flags across PostHog projects
May 4DeploymentFeature FlagsPostHogdiagnosing-experiment-results
diagnose PostHog experiment results and anomalies
May 22A/B TestingAnalyticsData AnalysisDebugging +1diagnosing-missing-recordings
diagnose missing PostHog session recordings
Apr 22AnalyticsDebuggingFrontendObservability +1diagnosing-sdk-health
diagnose PostHog SDK health
Apr 27AnalyticsDebuggingObservabilityPostHog
More from PostHog
View publisheranalyzing-expensive-users
analyze expensive users in AI observability
posthog
Jul 9AnalyticsCost OptimizationObservabilityPostHogauditing-endpoints
audit PostHog project endpoints
posthog
Jun 8AnalyticsAuditPostHogauditing-warehouse-source-health
audit PostHog data warehouse source health
posthog
Jun 18AuditData WarehouseObservabilityPostHogauditing-warehouse-view-health
audit PostHog materialized view health
posthog
Jun 18AuditData WarehousePerformancePostHogauthoring-error-tracking-alerts
author PostHog error tracking alerts
posthog
Jun 18AlertingDebuggingObservabilityPostHogauthoring-log-alerts
author log alerts in PostHog
posthog
Jul 18AnalyticsMonitoringObservabilityOperations +1