I built a mac app in under an hour 🤯
Ok, I didn’t really build a mac app. But also, I did.
About 5-6 years ago I found myself in between jobs and I was looking for something fun to build while honing some of my skills in the process. During that period of time I spent a lot of time in the public library nearby my house because I was temporarily living with my parents at the time and I didn’t really feel like hanging around the house all day.
Spending so much time in the library meant I spent a lot of time in the “homework area” where a lot of high school students would go to study for their exams. And this gave me an idea.
When I was in high school, there was one thing everybody was more obsessed about than the exams themselves. We always wanted to know what the minimum grade we needed to get was to pass the class.
And that was my app idea.
An app that high school students would use to keep track of their grades, and the app would tell them what grade they need on their next test to achieve their goal. They would be able to configure their target grade, and the app does the rest. Simple, effective, and it would allow me to get some extra Core Data practice in.
Once the app was done and I had a job again I didn’t do much other than update the app every so often.
The last update I did was to add darkmode support when iOS 13 came out.
A few weeks ago I decided I’d overhaul this app a little to have a more modern Core Data stack since the original was built on iOS 9’s Core Data stack, and I wanted to make the app a full-blown SwiftUI app.
Last Thursday, I finished the rewrite and figured I’d turn on iPad support and move to
NSPersistentCloudKitContainer to have data sync between devices. And then I figured I’d try to add macOS support too. And to my surprise, everything worked! It took a few minor tweaks but in less than an hour I was able to add iPad support, macOS support, and CloudKit synchronization.
This really goes to show how powerful some of Apple’s frameworks and APIs can be.