> This page is for SDK, 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 配置

> 配置 Swift SDK 生成器设置，包括 clientClassName、moduleName、environmentEnumName 和 nullableAsOptional 选项。

您可以在 `generators.yml` 中自定义 Swift SDK 生成器的行为：

**`generators.yml`**

```yaml {6-11} title="generators.yml"
groups:
  swift-sdk:
    generators:
      - name: fern-swift-sdk
        version: 0.37.1
        config:
          clientClassName: YourClientName
          environmentEnumName: YourCustomEnvironment
          moduleName: MyCustomModule
          enableWireTests: false
          nullableAsOptional: true
```

**`clientClassName`** `string`

生成的客户端类的名称。这允许您自定义用户在使用 SDK 时将实例化的类名。

---

**`environmentEnumName`** `string`

生成的环境枚举的名称。这允许您自定义定义 API 环境（如生产、预发布、开发）的枚举名称，并确保在 SDK 生成过程中保持命名的一致性。

---

**`moduleName`** `string`

在客户端代码中使用的模块名称（例如，`import MyCustomModule`）。当提供此名称时，它将在库、产品和目标中一致使用。

---

**`enableWireTests`** `boolean` — default: true

生成[模拟服务器（线路）测试](/learn/zh/sdks/deep-dives/testing#mock-server-tests)以验证 SDK 是否发送正确的 HTTP 请求并根据 API 规范正确处理响应。

---

**`nullableAsOptional`** `boolean` — default: false

启用时，可空字段会被解码为 Swift 可选类型（`T?`），而不是 `Nullable<T>` 包装类型。这简化了类型处理，但失去了区分显式 `null` 值和缺失字段的能力。禁用时（默认），可空字段使用 `Nullable<T>` 包装类型，这保留了显式设置为 `null` 的字段和响应中缺失字段之间的区别。

---