Bushel of an App - Making Cider from Apples
How much time should you spend on marketing your app? The answer seems to always be more.It is very easy for me to sink days into Xcode worry about a bug that users may or may not notice as opposed to...
View ArticleConnecting Observation with Binding in SwiftUI
When I was building Bushel, I ran into an issue where the @Binding object passed to a view would change as the app loaded. This made it difficult to maintain a @Binding object and use the new...
View ArticleGetting Started with Swift OpenAPI Generator
With the launch of Bushel, I created the concept of a Hub. A Hub is an online repository or source that provides you with a collection of macOS restore images (.ipsw files). Hubs serve as convenient...
View ArticleControl Your Swift Dependencies Before They Control You
We often take dependencies for granted when building apps in Swift. Most of the time, this doesn’t lead to any problems, but it has a way of lulling many Swift developers into a false sense of...
View ArticleUsing ModelActor in SwiftData
With the introduction of SwiftData at WWDC 2023, we have seen the further Swift-ifaction of older APIs. While Core Data is a tried and true technology, SwiftData allows for the use of Swift in defining...
View ArticleSwift 6 Incomplete Migration Guide for Dummies
If you've been a Swift developer (or a developer in the Apple space), you've experienced your fair share of migrations. Whether it was Objective-C, SwiftUI, try...catch or most recently async/await and...
View ArticleBushel v1.2.0 - Exciting New Features for WWDC 2024!
As we gear up for WWDC 2024, I'm thrilled to announce the release of Bushel v1.2.0! This major update brings a host of new features and improvements, just in time for the first macOS 15 beta. What's...
View ArticleBeing Sendable with SwiftData
In the previous article, I showed how to setup a ModelActor which accessed SwiftData on a non-MainActor.Using ModelActor in SwiftDataBeing Sendable with SwiftDataWe were left with an implementation...
View ArticleSwiftData CRUD Operations with ModelActor
In my previous articles, we explored how to:Create a Background ModelActor in SwiftDataHandle Sendable Requirements in SwiftData using PersisentIdentifierNow let's extend our Database type with robust...
View Article2024 in Review and What's Next in 2025
This was a big year for me and in the Apple development world. From speaking at conferences to career shifts, let's go through what happened in 2024 and what we might see in 2025.My 2024 JourneyThis...
View ArticleHow Does Server Side Swift Workout in the Real World?
In 2018, I attended the try! Swift conference in New York, where I participated in a workshop titled "Build a Cloud Native Swift App."At the time, Swift was primarily known as an iOS development...
View ArticleSetting Up Sign in with Apple with Server Side Swift and SwiftUI
When developing a fitness app, we needed an easy and efficient way for users to authenticate. The standard user name and password interface for the Apple Watch would be cumbersome and challenging....
View ArticleImplementing Sign in with Apple in the watchOS Simulator
With Sign in with Apple implemented on the server and client, we were ready to begin developing our fitness app for the Apple Watch. However, we quickly ran into issues with developing for the Apple...
View ArticleShould You SwiftData?
Like many apps at some point you will need some sort of persistent local storage. There are many options and with the release in 2023 of SwiftData there's some clarity but also confusion around it....
View Article