Launch Arguments & Environment Variables

Pass flags to your app at test time to control its behavior (skip onboarding, mock login, etc.).

Set in test

swift
override func setUpWithError() throws {
    continueAfterFailure = false
    app = XCUIApplication()
    app.launchArguments = ["--uitesting", "--skip-onboarding"]
    app.launchEnvironment = [
        "API_BASE_URL": "https://staging.myqatools.com/api",
        "MOCK_AUTH": "true",
    ]
    app.launch()
}

Read in your app code (Swift)

swift
// In your AppDelegate or @main App:
if CommandLine.arguments.contains("--skip-onboarding") {
    UserDefaults.standard.set(true, forKey: "onboardingComplete")
}

if ProcessInfo.processInfo.environment["MOCK_AUTH"] == "true" {
    AuthManager.shared.useStubToken()
}