OnboardingKit

OnboardingKit is a Swift SDK that helps you create onboarding experiences in Swift and SwiftUI.

MIT License

Stars
483
Committers
3

Bot releases are visible (Hide)

OnboardingKit - Latest Release

Published by danielsaidi 5 months ago

This version adds support for strict concurrency and a new OnboardingSlideshow component.

To simplify the OnboardingPageView and OnboardingSlideshow view builder setup, these functions have been refactored to only use OnboardingPageInfo as parameter.

✨ New features

  • OnboardingSlideshow is a new view that automatically slides through a set of pages.
OnboardingKit -

Published by danielsaidi 6 months ago

✨ New features

  • View has a new tryPresent function.
OnboardingKit -

Published by danielsaidi 6 months ago

🐛 Bug Fixes

  • The custom onboarding page view style is now applied on appear, instead of as a task.
OnboardingKit -

Published by danielsaidi 7 months ago

This version drastically simplifies the library and bumps the platform deployment targets to more modern platform versions.

Please see the docs and the demo for updated examples.

💡 Behavior changes

  • Onboarding and its subclasses have been simplified.
  • Onboarding is now based on tryPresent regardless of which class you use.

💥 Breaking changes

  • All deprecated code has been removed.
  • Hint has been removed.
  • Onboarding no longer has a userId property.
  • Onboarding no longer has a hasBeenPresented property.
  • Onboarding no longer has a registerPresentation function.
  • OnboardingPageView now takes page values instead of a tutorial.
  • Tutorial has been removed and replaced with new onboarding views.
OnboardingKit -

Published by danielsaidi 10 months ago

This version bumps macOS to 11.

✨ New features

  • TutorialPageView now supports macOS.
OnboardingKit -

Published by danielsaidi 10 months ago

This version bumps Swift to 5.9.

This version (once again) makes the Tutorial type non-generic, and adds a GenericTutorial for the rare use-cases where a generic type is needed. This will once again make it possible to add static properties to the Tutorial type, to define app-specific values.

✨ New features

  • GenericTutorial can be used for generic use-cases.
  • Onboarding has new static builders for various types.

💡 Behavior changes

  • TutorialPageView has one initializer for Tutorial and one for GenericTutorial.

💥 Breaking changes

  • Tutorial is no longer generic.
OnboardingKit -

Published by danielsaidi about 1 year ago

✨ New features

  • LocalizedTutorial now supports custom bundles.
OnboardingKit -

Published by danielsaidi about 1 year ago

🗑 Deprecations

  • TutorialSlideView has been renamed to TutorialPageView.
  • TutorialSlideViewStyle has been renamed to TutorialPageViewStyle.
OnboardingKit -

Published by danielsaidi over 1 year ago

In this major update, Tutti is renamed to OnboardingKit.

You have to update all your imports from import Tutti to import OnboardingKit.

OnboardingKit -

Published by danielsaidi about 2 years ago

This version adjusts the TutorialPageInfo type slightly.

✨ New features

  • TutorialPageInfo now has a currentPage property.
  • TutorialPageInfo isCurrentPage is now a property instead of a function.
OnboardingKit -

Published by danielsaidi about 2 years ago

This version bumps the minimum iOS version to 13 to allow importing SwiftUI.

✨ New features

  • TutorialSlideView is a new view for presenting tutorial-based onboarding flows.
  • TutorialSlideViewStyle can be used to style TutorialSlideView views.
OnboardingKit -

Published by danielsaidi about 2 years ago

This is the last minor version before 5.0, which will make the library require iOS 13, macOS 10.5, tvOS 13 and watchOS 6 .

This version deprecates the OnboardingPresenter concept and adds a tryPresent function to the Onboarding instead.

✨ New features

  • TutorialPageInfo is a new struct.
  • UrlTutorialPage is a new tutorial page with a URL.

💡 Behavior changes

  • Tutorial is now generic to better handle custom tutorial page types.

📦 Dependencies

  • TuttiTests no longer depends on MockingKit.
  • TuttiTests no longer depends on Quick and Nimble.
OnboardingKit -

Published by danielsaidi over 2 years ago

This version deprecates the OnboardingPresenter concept and adds a tryPresent function to the Onboarding instead.

This makes the library really lightweight.

✨ New features

  • Onboarding has a new tryPresent function that takes a custom presentation action.
  • TutorialPage now implements Identifiable.

🗑 Deprecations

  • OnboardingPresenter has been deprecated.
  • HintPresenter has been deprecated.
  • TutorialPresenter has been deprecated.
OnboardingKit -

Published by danielsaidi about 3 years ago

This major version prepares the library for Xcode 13 and SwiftUI 5.5. It also removes some UIKit-specific parts of the library, which makes the entire library run on all platforms.

If you need the removed UIKit parts, you can grab them from the 3.1.1 release.

💡 Behavior changes

  • OnboardingPresenter no longer requires AnyObject conformance.

💥 Breaking changes

  • Tutorial is no longer generic.
  • The UIKit folder has been removed in this version.
OnboardingKit -

Published by danielsaidi about 3 years ago

💡 Behavior changes

  • CalloutView no longer depends on UIApplication.shared.
OnboardingKit -

Published by danielsaidi about 3 years ago

✨ New features

  • Onboarding has a new hasBeenPresented property.
OnboardingKit -

Published by danielsaidi almost 4 years ago

In this version adds support for presenting titles in CalloutView:

  • Hint has a default, empty title init value.
  • Hint implements Equatable.
  • Hint has a new hasTitle property.
  • CalloutViewPresenter now supports presenting titles.
  • CalloutViewPresenter has new titleFont and titleTextSpacing properties.

The demo has been updated with new onboarding demos.

OnboardingKit -

Published by danielsaidi about 4 years ago

This version adds a new ConditionalOnboarding type.

OnboardingKit -

Published by danielsaidi about 4 years ago

This version adds support for macOS, tvOS and watchOS, with several breaking changes.

UIKit is now only required in UIKit-specific files, which means that the rest of the model supports watchOS and macOS.

New functionality:

  • Onboarding has more logic.

Breaking changes:

  • Onboarding has been disconnected from Hint and Tutorial.
  • Onboarding, Hint and Tutorial are now base classes instead of protocols.
  • Hint and Tutorial no longer implements Onboarding, and are only data carriers.
  • StandardOnboarding, StandardHint and StandardTutorial have been removed.
  • DeferredOnboarding has been renamed to DelayedOnboarding.
  • HintPresenter and TutorialPresenter now extend OnboardingPresenter, but add no extra logic.
  • Tutorial no longer have the resourceName(for:at:) logic, but is now built up by generic pages.
  • All hint presenters now require both a hint and an onboarding.
  • All tutorial presenters now require both a tutorial and an onboarding.
  • AlertingHintPresenter now only contains presentation logic.

The demo has been rewritten from scratch, but it still UIKit-based until Xcode 12 is released.

OnboardingKit -

Published by danielsaidi over 4 years ago

This version updates all external test dependenies to the latest versions.