Configuration
LaunchSwift centralizes runtime configuration in AppConfig:
ios/SwiftLaunch/Core/Config/AppConfig.swift
AppConfig API
Section titled “AppConfig API”AppConfig exposes:
deploymentPath(appleNativeorfullStack)buildEnvironment(developmentorproduction)apiBaseURLcloudKitContainerIdentifierproductIDs(monthly,annual,lifetime)
Factory/runtime entry points:
AppConfig.development(for:)AppConfig.production(for:)AppConfig.runtime(...)AppConfig.current
Deployment path resolution for AppConfig.current is:
E2ETestOverrides().deploymentPathOverrideSWIFTLAUNCH_DEPLOYMENT_PATHenvironment variableUserDefaultskeydeploymentPath- Info.plist key
SWIFTLAUNCH_DEPLOYMENT_PATH - fallback:
.appleNative
API base URL
Section titled “API base URL”apiBaseURL is set in:
AppConfig.development(for:)→http://localhost:8787AppConfig.production(for:)→https://api.swiftlaunch.app
APIClient reads AppConfig.current.apiBaseURL for JSON and SSE requests.
To point production to your deployed Worker, update the apiBaseURL value inside production(for:).
StoreKit product IDs
Section titled “StoreKit product IDs”Store product IDs are configured in:
ProductIDs(monthly,annual,lifetime) inAppConfig.swiftPaymentsConfig.Productsinios/SwiftLaunch/Features/Payments/PaymentsConfig.swift
SubscriptionTier (monthly, yearly, lifetime) maps to those IDs in PaymentModels.swift.
Analytics (TelemetryDeck)
Section titled “Analytics (TelemetryDeck)”There is no AppConfig.telemetryDeckAppID property.
TelemetryDeck integration is defined in:
ios/SwiftLaunch/Core/Analytics/AnalyticsService.swiftios/SwiftLaunch/Core/Analytics/AnalyticsEvent.swift
TelemetryDeckAnalyticsService takes appID at initialization time.
Backend secrets (Path B)
Section titled “Backend secrets (Path B)”In backend/, set secrets using Wrangler:
wrangler secret put BETTER_AUTH_SECRETwrangler secret put OPENAI_API_KEYwrangler secret put ANTHROPIC_API_KEYwrangler secret put GEMINI_API_KEY