> This page is for SDKs, version Current (default).
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# Swift configuration

> Configuration options for the Swift target in sdk-config.yml.

Configure the Swift SDK in the `generation` block of its target in `sdk-config.yml`:

**`sdk-config.yml`**

```yaml {3-6} title="sdk-config.yml"
targets:
  - language: swift
    generation:
      naming:
        clientName: YourClientName
      nullableAsOptional: true
```

The target's `generation` block also accepts the [shared generation options](/learn/sdks/reference/sdk-config#generation), such as `naming`, `wireTests`, and `customCode`. Shared options set in the top-level `generation` block apply to every target, and a target's `generation` block overrides them. For `generators.yml` options, see the [Legacy Swift configuration](/learn/sdks/legacy/generators/swift/configuration).

## Swift options

**`moduleName`** `string`

The Swift module name for the generated package.

---

**`nullableAsOptional`** `boolean`

Whether nullable values are represented as Swift optionals.

---