Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ description: 'Add interactive tooltips to your documentation.'

The Tooltips component provides a way to display additional information when users hover over an element. This is particularly useful for providing context or explanations without cluttering the interface.

## Tooltips in CodeBlocks

## Properties

<ParamField path="data" type="object" required={true}>
Expand Down Expand Up @@ -135,3 +137,5 @@ const api = axios.create({
`````
</Tab>
</Tabs>

## Tooltips for Text
27 changes: 27 additions & 0 deletions fern/products/sdks/overview/swift/configuration.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Swift configuration
description: Configuration options for the Fern Swift SDK.
---

You can customize the behavior of the Swift SDK generator in `generators.yml`:

```yaml {7-8} title="generators.yml"
default-group: local
groups:
local:
generators:
- name: fernapi/fern-swift-sdk
version: <Markdown src="/snippets/version-number-swift.mdx"/>
clientClassName: YourClientName
environmentEnumName: YourCustomEnvironment
```

## SDK Configuration Options

<ParamField path="clientClassName" type="string" required={false} toc={true}>
The name of the generated client class. This allows you to customize the class name that users will instantiate when using your SDK.
</ParamField>

<ParamField path="environmentEnumName" type="string" required={false} toc={true}>
The name of the generated environment enum. This allows you to customize the enum name that defines your API environments (such as production, staging, development) and ensures consistent naming across SDK generations.
</ParamField>
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
title: Publishing as a Swift package
description: How to publish the Fern Swift SDK as a Swift package
---

Publish your public-facing Fern Swift SDK as a Swift package distributed via Git. After following the steps on this page, you'll have a versioned package that developers can install using Swift Package Manager.

<Markdown src="/products/sdks/snippets/setup-fern-folder-callout.mdx"/>

## Configure `generators.yml`

<Steps>
<Step title="Configure `output` location">
Swift packages are distributed via Git repositories, so remove the auto-generated `output` and `config` properties. Instead, add the path to your GitHub repository:

```yaml {6-7} title="generators.yml"
groups:
swift-sdk:
generators:
- name: fernapi/fern-swift-sdk
version: 1.0.0
github:
repository: your-org/company-swift
```
</Step>
</Steps>

## Publish as a Swift package

At this point, you're ready to generate a release for your SDK.

<Steps>
<Step title="Generate your release">
Regenerate your SDK and publish it to your repository:

```bash
fern generate --group swift-sdk --version <version>
```

Local machine output will verify that the release is pushed to your repository and tagged with the version you specified.
</Step>

<Step title="Verify package availability">
Your Swift package is now available! Developers can add it to their projects by:

- **In Xcode**: File → Add Package Dependencies → Enter your repository URL
- **In Package.swift**: Add to dependencies array:

```swift
dependencies: [
.package(url: "https://github.com/<github-org>/<github-repo-name>", from: "<version>")
]
```

<Tip>
Unlike other languages that rely on centralized registries, Swift packages are available as soon as they’re tagged and pushed to a Git repository.

You can optionally submit your package to the community-maintained [Swift Package Index](https://swiftpackageindex.com/) for better discoverability.
</Tip>
</Step>
</Steps>



62 changes: 62 additions & 0 deletions fern/products/sdks/overview/swift/quickstart.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: Swift quickstart
description: Get started quickly with the Fern Swift SDK.
---

Generate a Swift SDK by following the instructions on this page.

<Markdown src="/products/sdks/snippets/setup-fern-folder-callout.mdx"/>

<Steps>
<Markdown src="/products/sdks/snippets/pass-fern-check.mdx"/>

### Add the SDK generator

Run the following command to add the Swift SDK generator to `generators.yml`:

```bash
fern add fern-swift-sdk --group swift-sdk
```

<Note>
`swift-sdk` is the name of the `generators.yml` group that configures your Swift
SDK's output location and other metadata. You can customize this group name to
differentiate between multiple SDKs across different languages (e.g.,
`ruby-sdk`, etc) in your organization.
</Note>

This command adds the following `group` to `generators.yml`:

```yaml title="generators.yml"
swift-sdk: # group name
generators:
- name: fernapi/fern-swift-sdk
version: <Markdown src="/snippets/version-number-swift.mdx"/>
output:
location: local-file-system
path: ../sdks/swift
```

### Generate the SDK

Run the following command to generate your SDK:

```bash
fern generate --group swift-sdk
```

<Markdown src="/products/sdks/snippets/generate-sdk.mdx"/>

```bash
fern/ # created by fern init
sdks/ # created by fern generate --group swift-sdk
├─ swift
├─ Package.swift
└─ Sources
├─ YourClient.swift
├─ Schemas/
├─ Public/
├─ Core/
└─ Resources/
```
</Steps>
13 changes: 13 additions & 0 deletions fern/products/sdks/sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,19 @@ navigation:
slug: changelog
- link: Customer showcase
href: https://buildwithfern.com/showcase#sdk-customers.ruby
- section: Swift
contents:
- page: Quickstart
path: ./overview/swift/quickstart.mdx
slug: quickstart
- page: Configuration
path: ./overview/swift/configuration.mdx
slug: configuration
- page: Publishing as a Swift package
path: ./overview/swift/publishing-to-swift-package-manager.mdx
slug: publishing
- changelog: ./overview/swift/changelog
slug: changelog
- section: Postman
contents:
- page: Quickstart
Expand Down