Platforms
scd supports multiple target platforms, including iOS and Android. The target platform is specified using the --platform option and determines the compiler toolchain, SDK, and output format used during the build. The default platform is macos on macOS hosts and linux on Linux hosts.
Some commands, such as archive, accept multiple --platform values simultaneously to produce multi-architecture Android artifacts from a single invocation.
| Value | Platform |
|---|---|
macos | macOS (default) |
linux | Linux |
iphoneos | iOS device |
iphonesimulator | iOS Simulator |
android-arm64-v8a | Android ARM64 |
android-x86_64 | Android x86_64 |
android-armeabi-v7a | Android ARMv7 |
android-x86 | Android x86 |
Android
Section titled “Android”Swift officially supports Android, but support is still limited — scd uses the SCADE Android Swift SDK, which includes fixes not present in upstream Swift.
For every Android build, scd automatically applies linker and compiler flags required for Android compatibility, including:
--build-id=sha1, needed for correct crash symbolication on Android-z,max-page-size=16384, required for 16 KB page size support on newer Android versions-fPIC, required for producing shared libraries on Android
These flags are applied automatically — you don’t need to pass them yourself.