Project Generation
After downloading SwiftyLaunch, open it, activate your license and press on Create a New Project.
Base App Information
- Enter your App Name.
- Enter your App Bundle ID (usual format is
com.yourcompany.appname
orcom.last-name.appname
). - Select the minimum Deployment Target Level, which equals to the oldest supported OS.
SwiftyLaunch will generate project code based on the lowest common denominator, and may not include all of the latest features if a lower deployment target is selected. (e.g. the new iPadOS adaptive sidebar is only available if the Deployment Target is set to 18.0 and above).
- Select the Supported Destinations for your App (= Platforms).
- Select the Path where you want your generated project to be saved at.
- Select your project's App Icons (Regular, Dark, Tinted) and your App Accent Color. You can enter a custom accent
color HEX value or let SwiftyLaunch extract the dominant color from the regular app icon.
You don't have to, but its recommended to supply all three icon types. You can also always change the app icon later on.
Uploaded App Icons should be in the PNG format, have a resolution of 1024x1024px and not be rounded.
Download Example App Icons
⚠️If your installed Xcode version is lower than 16.0, your Xcode might interpret the iOS 18-oriented mutli-icon assets incorrectly. In that case check out Incorrect App Icon.
Module Selection
Select all the built-in functionality that you want your App to have. Selected modules will contain code that will allow you to easily integrate the selected functionality into your App. Additionally, it will include a usage and implementation example.
Some modules require require other modules to be selected as well. For example, if you want to take advantage of AIKit, you need to have BackendKit selected as well.
Go to the Overview Section of each module in the documentation to read more about each module's contents.
Check out the deep dive on SwiftyLaunch Modules.
Project Generation
After pressing on Generate App, SwiftyLaunch will generate the App for you. It will create a new Xcode Project, set it up for you, and generate all the necessary code depending on the modules you've selected and fetch all the necessary dependencies from GitHub.
The process can take anywhere between a few seconds up to 10 minutes depending on your device and internet connection. Subsequent generations will be faster, as SwiftyLaunch caches the fetched dependencies.
If you encounter any errors during project generation, please refer to the Troubleshooting section.
SwiftyLaunch may show a beach ball during the generation process and may seem "stuck". Don't worry, this is expected behavior.
SwiftyLaunch may ask you to to give it system permissions during the generation process. This is necessary, as the tools that we use under the hood (such as xcodebuild, spm) require us to have the right privileges to perform these actions. We don't use these permissions to do anything other than to generate a new app on your behalf.
Project Created
Now that the Project has been initialized, press on Open in Xcode.
Select your Signing Team
Select your desired developer account to sign your Application.
If you don't see your account, make sure that you have an active Apple Developer Membership and that you're logged into you Apple ID in Xcode.
Only for NotifKit: Select the Signing Team
If you selected NotifKit as one of your Modules, you must also select the signing team for the OneSignalNotificationExtension Target.
Fill out additional app information
In the SharedKit module, go to the Constants.swift
file. There,
enter additional app-specific information, such as your support email,
link to your privacy policy, and more.
Build the Project
Build the Xcode Project by pressing ⌘+B. It might take a while.
If you have AuthKit & DBKit selected: After building, you will probably see an error message saying that Firebase needs initialization. This is normal, and will resolve itself when you're done setting up Firebase in the next step.