Over the last few years I’ve done quite a lot of work with Swift and SwiftUI and I’ve truly fallen in love with both. I love Swift as a language and SwiftUI allows me to build complex UIs with relative ease.
As a result, all of the current games and apps that I’ve written and released for iOS, iPadOS, watchOS, tvOS and macOS have been in Swift and SwiftUI and, because of this, I’ve developed and perfected quite a few useful tools.
NOTE: If you’re interested in the types of apps, just search for Appracatappra in the Apple App Store.
For an example, using my libraries I was able to take my HexOnHex word game from idea to released in the app store in two weeks and two days (my quickest release by far). Most of this is due to HexOnHex being a very simple game and the fact that I reused several graphics and bits from my Hexo game, but the custom libraries really made all the difference in the world too.
Anyway, and long story short, I’ve spent the last several months converting all of these custom libraries and component into Swift Package Manager Packages and released them, open source, under the MIT License for free. Additionally, each Package comes with full DocC Documentation to make them easy to consume.
It’s my small way to give back to the community and I hope that you can find them as useful as I have.
My Open Source Packages
These packages cover several useful tools for both Swift and SwiftUI. You can find them directly on our GitHub Page or listed on the Swift Package Index.
That said, here is the current listing:
- SwiftUIKit – SwiftUIKit provides a collection of controls such as standardized buttons and text manipulations for use with SwiftUI.
- SwiftUIPanoramaViewer – A high-performance library that uses SceneKit to display complete spherical or cylindrical panoramas with touch, gamepad or motion based controls that can be using in SwiftUI projects.
- SwiftUISharing – Provides a Sharing Sheet on iOS & iPadOS and a Sharing Menu on macOS in a SwiftUI fashion that allows the user to share a piece of data using the Sharing Options available on the device the app is running on.
- SwiftUIGamepad – SwiftUIGamepad makes it easy to add Gamepad support to any SwiftUI
View
. - SwiftletUtilities – Open source library of useful common utilities for working with Swift & SwiftUI.
- SwiftletRadioButtonPicker – Creates a cross-platform Radio Button Picker that allow the user to select from a small group of options.
- SwiftletData – SwiftletData is a suite of backend controls designed to quickly and easily add support for several common databases and data formats (such as SQLite, JSON, XML and CloudKit) to your app.
- SpeechManager – SpeechManager is a simple utility for adding text-to-speech to your app quickly and easily.
- SoundManager – SoundManager provides a simply way to play sounds in an App.
- SimpleSerializer – A simple utility for serializing a Swift object in the smallest space possible by converting it to a Divider separated
String
. - ODRManager – ODRManager makes it easy to add On Demand Resource support to any SwiftUI App.
- MultiplatformTabBar – A cross platform Tab Bar that run and looks the same across iOS, iPadOS, macOS & tvOS. for SwiftUI.
- LogManager – A simple library to make it easier to add pretty debugging logging entries to an App project.
- GraceLanguage – Grace provides a Turning-Complete scripting language can be used in applications such as spreadsheet calculations, database manipulations or game engines.
- GameCenterManager – Removes boilerplate for Turn Based Game Center Games.
- CircularProgressGauge – Defines a SwiftUI Circular Progress Gauge that will show the percent complete (0% to 100%) for a process.
- AppStoreManager – AppStoreManger is an easy to use, StoreKit 2 based, In-App Purchase manager.
- AddToSiriButton – A wrapper around the
UIKit
Add To Siri button so it can be used in SwiftUI.
Again, they are all fully documented and have been released under the MIT License. Additionally, they’ve been updated to the latest version of Swift and the latest SwiftUI techniques.
Support
If you find any of my libraries useful and would like to help support their continued development and maintenance, please consider making a small donation, especially if you are using them in a commercial product:
It’s through the support of contributors like yourself, I can continue to build, release and maintain high-quality, well documented Swift Packages like these for free.