(NEW) Frameworks

Frameworks

SwiftyLaunch comes bundled with a set of frameworks that we found to be essential in 99% of Applications.

Although significant improvements have been made over the years, setting up most of these capabilities can still be quite cumbersome. Not only is it necessary to configure it initially, but you also need to consider various aspects to ensure the code remains flexible for future additions and different requirements.

We want to save our future selves and you the headache of that, which is why we created a modular Framework system, that allows us to cherry-pick the desired capabilities. In addition to that, we generate all the necessary boilerplate to save you development time and launch swiftly ;)

πŸ—„οΈ DatabaseKit

DatabaseKit is powered by Google's Firebase Firestore, an easy, scalable NoSQL Database Solution, which quickly became the de-facto standard for all the mobile indie-developers out there thanks to it's straightforward API, modular integration and well document SDK. It being very popular also means that there is a large community on threads, forums and StackOverflow to resort to, if a question or an issue occurs.

DatabaseKit includes:

  • Setup and initialization of the Firebase Firestore Framework.
  • Usage examples: Creation, Fetching and Deletion of Data from the Database.
  • Optional: AuthKit Integration (Restrict Database Access to authenticated Users).
  • Optional: AnalyticsKit Integration (Capture Database Access Events and Errors via PostHog).

πŸ” AuthKit

AuthKit is built on top of FirebaseAuth and works in tandem with DatabaseKit to create a painless developer experience. Auth sucks and we all dislike doing it. Well, we'd like save you all the pain of that. We include a complete auth flow, and allow you to check authentication static by just accessing a single variable authState and to restrict SwiftUI views and prompt the user to log in via a single .requireLogin() view modifier.

AuthKit includes:

  • Setup and initialization of the FirebaseAuth Framework.
  • Complete Sign In With Apple workflow.
  • Complete Sign In / Up with Email and Password workflow:
    • Forgot Password
    • Email Verification
    • Account Creation
  • User Profiles with essential operations: name change, password reset, account deletion.
  • SwiftUI View restriction to only authenticated users with .requireLogin()
  • Optional: AnalyticsKit Integration (Capture Authentication Events and Errors via PostHog).
  • Optional: InAppPurchaseKit & NotifKit Integration (Share the same User ID between different providers).

πŸ› οΈ BackendKit

SwiftyLaunch Version 1.2+

BackendKit is built on top of Firebase Functions and uses typescript. You can easily create your app-specific API endpoints, that communicate with other SwiftyLaunch Frameworks (AuthKit, DBKit, AIKit, InAppPurchaseKit, NotifKit and AnalyticsKit) and deploy them with a single terminal command. We include a couple of usage examples both on the client and server side.

BackendKit includes:

  • Setup and initialization of the Firebase Functions.
  • Usage Examples.
  • Pre-built framework-based functions, such as:
    • InAppPurchaseKit: Validate if a user has a premium subscription.
    • NotifKit: Send a push notification to a specific user.
    • AnalyticsKit: Capture events and errors.
    • And more.

BackendKit requires AuthKit & DatabaseKit to be included.

✨ AIKit NEW

SwiftyLaunch Version 1.3+

With AIKit you can easily add local and cloud-based Machine Learning models to your app. With AIKit we ship 3 AI-based mini-apps as examples on how to use our included starter code. Perfect for developers that want to create a simple AI-Wrapper or to enrich their app with AI features.

AIKit includes:

  • 3 AI mini-apps (see AIKit Section for more details)
  • Process Images with OpenAI's Vision API
  • Process Text & Chats with OpenAI's LLM Chat Completions API
  • Convert Text to Speech with OpenAI's TTS API
  • Detect Sensitive Text with OpenAI's Moderation API
  • Convert Speech to Text locally using Whispers CoreML-optimized Model
  • Deep Integration with AnalyticsKit to track events and errors
AIKit requires BackendKit to be included.

πŸ’° InAppPurchaseKit

RevenueCat lets us not deal with StoreKit, which is why we have it included. We extend RevenueCat's Paywall Feature to create stunning paywalls. We drastically reduce the setup time for In-App-Purchases. Just set up the in-app purchases in App Store Connect and RevenueCat, include your API key and hide your premium features behind a paywall with a single .requirePremium() modifier.

InAppPurchaseKit includes:

  • Setup and initialization of the RevenueCat Framework.
  • Custom-designed, modular paywalls with zero setup.
  • Premium Features restriction with .requirePremium()
  • Optional: AnalyticsKit Integration (Capture IAP Events and Errors via PostHog).
  • Optional: AuthKit & NotifKit Integration (Share the same User ID between different providers).

πŸ”” NotifKit

Powerful, rich Push Notifications via OneSignal. OneSignal is a mature Push Notifications provider, with the ability to also send in-app notifications and Emails. We integrate it deeply with other frameworks, allowing us to target users directly.

NotifKit includes:

  • Setup and initialization of the OneSignal Framework.
  • Smart Push Notification Screen (can prompt the user more than once)
  • Optional: AnalyticsKit Integration (Capture Notification Interactions and Errors via PostHog).
  • Optional: AuthKit & InAppPurchaseKit Integration (Share the same User ID between different providers).

πŸ“ˆ AnalyticsKit

Seeing the App Downloads Counter is cool. But you know what is even cooler? The ability to see how your users use your app. Maybe your your new app feature is too confusing to your users? Or maybe a nasty bug slipped through your testing proccess and you don't even realise it until hundreds of users write to you about it? This is why we think that AnalyticsKit, built on PostHog, is a must-have Framework to ensure your users are happy! We integrated it deeply within our other frameworks, so you don't have to.

AnalyticsKit includes:

  • Setup and initialization of the PostHog Framework.
  • Capture SwiftUI View and Button activities with a single view modifier line.
  • Deep Integration with other Frameworks.

Be conscious and reasonable about what information you collect. State clearly in your privacy policy, what information you collect and why. We cannot be held accountable for any privacy violations done by you.

🎨 BrandUIKit

Brand Identity is important. We want to maintain the same design language throughout the application, which is the reason for BrandUIKit. BrandUIKit is included in all the different modules, so no matter what you build, it all has a consistant, unique look. It has different UI components such as buttons and textfields. Which are optimized out of the box. Works out of the box: just set the AccentColor in your assets folder and watch the whole application transform.

BrandUIKit is always included.

πŸ”— SharedKit

Many things need to be shared between different components throughout the components. Having to write the same function twice, because its from another module sucks, having to include a whole different module for just one feature sucks even more. Which is why we have this convenience framework to share code throughout the application.

SharedKit is always included.