OnboardingKit is SwiftUI SDK that helps you create amazing onboarding experiences on all major Apple platforms.
OnboardingKit has different Onboarding
types, powerful onboarding view components like OnboardingPageView
and OnboardingSlideshow
, an OnboardingScreen
that can wrap any onboarding flow, and much more.
OnboardingKit can be installed with the Swift Package Manager:
https://github.com/danielsaidi/OnboardingKit.git
By becoming a sponsor, you directly support the development & improvement of my various open-source projects.
OnboardingKit has various onboarding types and views that can be used to tailor an app's onboarding behavior.
The various Onboarding
types defines unique onboarding experience behaviors, for instance:
Onboarding
is presented right away, and only once.ConditionalOnboarding
is presented when a certain condition returnstrue
.CorrectBehaviorOnboarding
is presented when a user is not behaving as intended.DelayedOnboarding
is presented after a certain number of presentation attempts.
OnboardingKit has views that can be used to present onboarding flows, as well as ways to handle page state.
- An
OnboardingPageView
can be used to show a set of pages in a horizontal page view. - An
OnboardingSlideshow
can be used to show a set of pages in a slideshow that auto-slides forward. - An
OnboardingScreen
can be used to wrap any onboarding flow in a frame with additional controls. - An
OnboardingPageState
can be used to manage page state for all views.
All views support all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).
See the online getting started guide for more information.
The online documentation has more information, articles, code examples, etc.
The Demo
folder has an app that lets you explore the library.
Feel free to reach out if you have questions or if you want to contribute in any way:
- Website: danielsaidi.com
- E-mail: daniel.saidi@gmail.com
- Bluesky: @danielsaidi@bsky.social
- Mastodon: @danielsaidi@mastodon.social
OnboardingKit is available under the MIT license. See the LICENSE file for more info.