githubEdit

Environment Variables

Device Cloud allows you to inject environment variables into your test flows, enabling dynamic configuration and secure credential management.

Setting Environment Variables

Command Line

dcd cloud -e API_URL=https://api.example.com -e API_KEY=secret

Multiple Variables

dcd cloud -e DB_HOST=localhost \
          -e DB_USER=test \
          -e DB_PASS=password \
          -e ENVIRONMENT=staging

Use Cases

Configuration Management

# Development
dcd cloud -e API_URL=https://dev-api.example.com

# Staging
dcd cloud -e API_URL=https://staging-api.example.com

# Production
dcd cloud -e API_URL=https://api.example.com

Secure Credentials

iOS: SIMCTL Variable Passthrough

On iOS, variables prefixed with SIMCTL_CHILD_ are passed through by the simulator directly to the app under test, with the prefix stripped. This allows you to inject values that are readable from inside the app via ProcessInfo.processInfo.environment.

Inside the iOS app, this is accessible as API_URL:

This is useful for feature flags, environment switching, or any value your app reads at launch without needing to rebuild the binary.

Best Practices

  • Never commit sensitive values

  • Use CI/CD secrets

  • Use UPPERCASE for variable names

  • Use descriptive names

Last updated