<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b" -->

---
title: Introducing a brand new OnboardingKit | daily.dev
description: OnboardingKit is a new Swift and SwiftUI SDK for building onboarding experiences across Apple platforms, replacing the author's old open-source project. It...
canonical: https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Introducing a brand new OnboardingKit | daily.dev
og:description: OnboardingKit is a new Swift and SwiftUI SDK for building onboarding experiences across Apple platforms, replacing the author's old open-source project. It...
og:url: https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b
og:image: https://api.daily.dev/og/posts/oskcd2j4b.png
og:image:alt: Introducing a brand new OnboardingKit
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducing a brand new OnboardingKit

**[Daniel Saidi](https://daily.dev/sources/danielsaidi)** · 6 min read · 0 upvotes · 1 comments

## Summary

OnboardingKit is a new Swift and SwiftUI SDK for building onboarding experiences across Apple platforms, replacing the author's old open-source project. It supports iOS 17, macOS 15, tvOS 17, watchOS 10 and visionOS 1. The SDK ships screen templates like OnboardingWelcomeScreen, OnboardingWhatsNewScreen and OnboardingCoverScreen, plus page flow and slideshow containers. Unlike its predecessor, it's closed-source and requires a license, installed via Swift Package Manager and licensed through the author's own LicenseKit engine. A free license tier is available, with a low-cost paid license for real apps. The old MIT-licensed version remains free to use.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://danielsaidi.com/blog/2026/10/30/introducing-a-brand-new-onboardingkit>

## Questions this post answers

### What Apple platforms and OS versions does OnboardingKit support?

OnboardingKit supports iOS 17, macOS 15, tvOS 17, watchOS 10 and visionOS 1. It provides core models, flow containers for presenting sequences of pages, and ready-made screens that can be dropped into an app, all stylable, localizable and usable as stand-alone views.

_Evaluating SDKs across Apple platform versions gets easier when developers track releases like this on daily.dev._

### Is the new OnboardingKit Swift package open source or paid?

The new OnboardingKit is closed-source and requires a license, replacing the author's previous open-source project of the same name. The old MIT-licensed version remains available and free to use. A free license tier exists for the new version, with a low-cost paid license intended to be affordable for indie developers and teams.

_Developers deciding between free and paid SDK options can follow licensing shifts like this on daily.dev._

### How do you present a 'what's new' screen that only shows unseen features in a Swift app?

Use OnboardingWhatsNewInfo to gather versioned OnboardingWhatsNew items, each with a version, title, text and image, then call Onboarding.whatsNew(info:).tryPresent. Versions are compared numerically, so '1.10' correctly comes after '1.9', and the SDK remembers the last version a user has seen so only new items are shown.

_Implementing versioned onboarding logic gets simpler when you track SDK patterns like this on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@demovexa** · 0 upvotes

> The whatsNew type that only shows when there are new items is a nice touch, because it keeps the screen from turning into something users dismiss without reading. One thing I'd try with OnboardingPromoScreen and the what's new pages, if the image slot can take any view: embed the real SwiftUI view of the feature, scaled down and non-interactive, instead of a static screenshot. Since the screens already handle localized strings and dark mode, a live view would follow both, where a PNG shows one language in light mode and goes out of date with the next redesign. It also means the promo matches...

---

Tags: [#ios](https://daily.dev/tags/ios), [#swift](https://daily.dev/tags/swift), [#swiftui](https://daily.dev/tags/swiftui)

[View this post on daily.dev](https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Introducing a brand new OnboardingKit","url":"https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b"},"datePublished":"2026-10-30T08:31:34.574Z","dateModified":"2026-10-30T08:32:13.430Z","description":"OnboardingKit is a new Swift and SwiftUI SDK for building onboarding experiences across Apple platforms, replacing the author's old open-source project. It...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c2edc45f979f58c6373bf08933a36b09?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/c2edc45f979f58c6373bf08933a36b09?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Daniel Saidi","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Daniel Saidi","logo":"https://media.daily.dev/image/upload/s--RRuTMOCm--/f_auto,q_auto/v1783235599/logos/danielsaidi?_a=BAMAMicg0","url":"https://daily.dev/sources/danielsaidi"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"ios,swift,swiftui","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Daniel Saidi","item":"https://daily.dev/sources/danielsaidi"},{"@type":"ListItem","position":3,"name":"Introducing a brand new OnboardingKit"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b","comment":[{"@type":"Comment","text":"The whatsNew type that only shows when there are new items is a nice touch, because it keeps the screen from turning into something users dismiss without reading. One thing I’d try with OnboardingPromoScreen and the what’s new pages, if the image slot can take any view: embed the real SwiftUI view of the feature, scaled down and non-interactive, instead of a static screenshot. Since the screens already handle localized strings and dark mode, a live view would follow both, where a PNG shows one language in light mode and goes out of date with the next redesign. It also means the promo matches what users see one tap later.","datePublished":"2026-10-31T03:03:35.731Z","url":"https://daily.dev/posts/oskcd2j4b#c-pM5V8ELx5","author":{"@type":"Person","name":"DemoVexa","url":"https://daily.dev/demovexa","image":"https://media.daily.dev/image/upload/s--I0Ym8soj--/f_auto,pg_1/v1792077531/avatars/avatar_F6wD6jMSPjwEMcztjwnyE?_a=BAMAMicg0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/introducing-a-brand-new-onboardingkit-oskcd2j4b#faq","mainEntity":[{"@type":"Question","name":"What Apple platforms and OS versions does OnboardingKit support?","acceptedAnswer":{"@type":"Answer","text":"OnboardingKit supports iOS 17, macOS 15, tvOS 17, watchOS 10 and visionOS 1. It provides core models, flow containers for presenting sequences of pages, and ready-made screens that can be dropped into an app, all stylable, localizable and usable as stand-alone views. Evaluating SDKs across Apple platform versions gets easier when developers track releases like this on daily.dev."}},{"@type":"Question","name":"Is the new OnboardingKit Swift package open source or paid?","acceptedAnswer":{"@type":"Answer","text":"The new OnboardingKit is closed-source and requires a license, replacing the author's previous open-source project of the same name. The old MIT-licensed version remains available and free to use. A free license tier exists for the new version, with a low-cost paid license intended to be affordable for indie developers and teams. Developers deciding between free and paid SDK options can follow licensing shifts like this on daily.dev."}},{"@type":"Question","name":"How do you present a 'what's new' screen that only shows unseen features in a Swift app?","acceptedAnswer":{"@type":"Answer","text":"Use OnboardingWhatsNewInfo to gather versioned OnboardingWhatsNew items, each with a version, title, text and image, then call Onboarding.whatsNew(info:).tryPresent. Versions are compared numerically, so '1.10' correctly comes after '1.9', and the SDK remembers the last version a user has seen so only new items are shown. Implementing versioned onboarding logic gets simpler when you track SDK patterns like this on daily.dev."}}]}
```

