SwiftUI onboarding experience inspired by ChatGPT for iOS
IntroKit
IntroKit is a powerful and highly customizable SwiftUI framework designed to enhance the onboarding experience of your iOS applications. Inspired by the interactive onboarding experience of ChatGPT iOS, IntroKit enables developers to effortlessly deliver clear and engaging onboarding to their users, showcasing the key features and benefits of using their app.
Features
- Dynamic typing animation to focus on benefits of your app
- Customizable components
- Adaptive for onboarding and plain states
- Core Haptics integration
- Utilizes SwiftUI’s newest and most powerful features
Installation
You can add IntroKit to an Xcode project by adding it as a package dependency.
- From the File menu, select Swift Packages › Add Package Dependency…
- Enter the following URL: https://github.com/AndreasInk/IntroKit.git
- Click Next. Specify the version details, then click Next again to add the package to your project.
Or you can add IntroKit in your SPM package.swift file…
.package(url: "https://github.com/AndreasInk/IntroKit.git", .upToNextMajor(from: "1.0.0"))
Usage
import SwiftUI
import IntroKit
struct ContentView: View {
@StateObject var introViewModel = IntroViewModel()
var body: some View {
PurposeView(icon: "figure.walk", title: "I walk to...",
introText: ["Live healthier", "Think clearer", "Dream deeper", "Feel happier"],
cta: "Next")
.environmentObject(introViewModel)
}
}
In this example, PurposeView
is used to generate an onboarding screen with the provided introText
and call-to-action button text cta
.
Contributing
Contributions to IntroKit are welcome and greatly appreciated! Please feel free to create a pull request or open an issue on this GitHub repository.
TODO
- Clean up code
- Further document code
- Screenshot generation
- Promotional material (image and video) generation
- Automatic app and promotional material localization via GPT
License
IntroKit is available under the MIT license. See the LICENSE file for more info.
Built with ❤️ using SwiftUI.