Swiftpack.co - danielsaidi/Tutti as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by danielsaidi.
danielsaidi/Tutti 4.1.0
Tutti is a Swift library that lets you create tutorials, hints and onboarding experiences.
⭐️ 286
🕓 2 weeks ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/danielsaidi/Tutti.git", from: "4.1.0")

Tutti Logo

Version Swift 5.6 MIT License Twitter: @danielsaidi

About Tutti

Tutti helps you create onboarding expericences like hints and tutorials in Swift. The result can look like this, or completely different:

Tutti has different onboarding types. A standard Onboarding is shown right away and only once, while other types can require multiple presentation attempts, a certain number of "incorrect" actions etc. You can also combine different onboarding types to create new ones and reset the display state of any onboarding if you want to display it again.

Tutti also supports multiple users, so that each onboarding is unique to each user.

Supported Platforms

Tutti supports iOS 9, macOS 10.15, tvOS 13 and watchOS 6.


Tutti can be installed with the Swift Package Manager:


or with CocoaPods:

pod Tutti

Getting started

To get started with Tutti, have a look at this getting started guide.


The online documentation contains more information, code examples etc. and makes it easy to overview the various parts of the library.

The online documentation is currently iOS only. To generate documentation for other platforms, open the package in Xcode, select a simulator then run Product/Build Documentation.

Demo Application

This project contains a demo app that lets you explore Tutti on iOS. To run it, just open and run Demo/Demo.xcodeproj.


You can sponsor this project on GitHub Sponsors or get in touch for paid support.


Feel free to reach out if you have questions or if you want to contribute in any way:


Tutti is available under the MIT license. See the LICENSE file for more info.


Stars: 286
Last commit: 2 weeks ago
jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

Release Notes

2 weeks 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.

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics