|
Stewart Lynch News 2026 - 14
Please pass on the subscription link to others in your sphere so I can broaden my reach. https://stewartlynch.kit.com/
|
|
|
Build Better SwiftUI Lists
I've just released two new SwiftUI tutorials that focus on making your apps feel more polished and intuitive.
In the first video, you'll learn how to add drag-and-drop reordering to both List and custom Grid Layouts, giving users full control over the order of their content. You may think that this is redundant as in iOS 27 there is a new reordering API. However, there are some good points to be made here for storing sort order in SwiftData and supporting older OS versions.
In the second video, you'll learn how to build a much better search experience by progressively enhancing a searchable list with smarter filtering, improved usability, and a more refined interface.
Whether you're building productivity apps, data-driven tools, or content browsers, these techniques will help you create SwiftUI apps that feel more professional and user-friendly.
|
|
|
New Blog Post: Enums as Namespaces in Swift
Enums aren’t just for defining a fixed set of cases. One of my favorite uses for them is as lightweight namespaces that organize related constants, helper functions, nested types, and more, without the overhead of creating an instance.
In this new blog post, I explore why this pattern is so useful, how it compares to alternatives like singleton classes, and when it makes your code cleaner and easier to maintain. If you’re looking for simple techniques that can improve the structure of your Swift code, this is well worth a read.
Read the full blog on my website: https://www.createchsol.com/blog/2026-07-15-enums-as-namespaces.html
|
|
|
Coming Up on YouTube
I’ve got two new SwiftUI tutorials coming up that focus on building more robust, production-ready apps.
In the first video, you’ll learn how to monitor network reachability using NWPathMonitor and Observation so your app can respond intelligently when connectivity changes. You’ll detect when the device is online or offline, identify expensive or constrained connections, and update your UI automatically.
The following week, we’ll tackle one of the most common performance issues in SwiftUI: image loading. I’ll show you why AsyncImage isn’t always the best solution and build a reusable image caching view that stores downloaded images in memory, reduces unnecessary network requests, and delivers a smoother scrolling experience. Again, this might seem redundant due to new async image caching for AsyncImage in iOS 27, but if you need to support older OS versions, this is a great way to do it. Plus, you will learn all about creating an iOS cache.
Both tutorials include starter projects, practical examples, and techniques you can immediately apply to your own SwiftUI apps.
|
|
|
Discovering devicectl: Apple’s Hidden Device Automation Tool
If you build Swift apps, devicectl is one of those tools worth knowing about.
It is Apple’s command-line interface for working with connected devices and simulators through CoreDevice. From Terminal, you can list devices, inspect installed apps, launch an app, capture screenshots, record the screen, simulate status bar values, adjust settings, copy files, inspect processes, install or uninstall apps, and more.
In other words, it lets you automate many of the little device-related tasks that usually send you back into Xcode or hunting through menus.
The problem is discoverability. devicectl has a lot of nested subcommands, and the useful bits are easy to miss unless you already know what to ask for.
That is why I created this reference repository. It gathers the generated help output for devicectl and its subcommands into one browsable README, with a command index so you can jump straight to the area you need.
For Swift developers, this can be useful when you want to:
- automate screenshots or screen recordings
- launch and test apps from scripts
- inspect installed apps and bundle identifiers
- check connected devices from Terminal
- simulate device states for demos or testing
- explore what
devicectl can do without repeatedly running nested help commands
You can find it here:
Devicectl Help Reference
|
|
|
MyLinks 1.2.2 Coming This Week
I'm planning to release MyLinks 1.2.2 this week, assuming the iOS version completes App Store review. The macOS version has already been approved, so the update should be available on both platforms very soon.
This release focuses on making MyLinks more flexible and easier to use, with several new customization options, including:
- A refreshed user interface
- A new Large Text display option for shared content
- Individual share actions for each row
- The ability to choose which edge your share actions appear on
- The option to promote one of your actions to a dedicated button on each row for faster access
- Support for System, Light, and Dark appearance modes
If you use MyLinks regularly, I think you'll appreciate the additional flexibility and the streamlined workflow these changes provide. I hope you enjoy the update! You can download MyLinks now for iOS and macOS from the App Store. It is 100% free with no in-app purchases. https://apple.co/4cCjCpE
There are two features that I use all the time and am looking forward to making good use of them when I am at SwiftRockies next week. I thought that I would put together two short promo videos to show you what they do.
|
|
|
If you enjoy what I do and want to support my work, you can join my Ko-fi community and either make a one-time donation or become a monthly supporter for as little as $5/month. Monthly supporters get early access to my videos as soon as they’re uploaded to YouTube (as unlisted videos), sometimes up to a month before they’re made public. Monthly supporters also get priority responses to their questions, and I’m happy to help with coding challenges.
In addition to PayPal, Ko-fi now supports Stripe, which makes it easier to pay by credit card.
|
|
|
My Other Stuff
Channel Listing App
A Searchable Mac app containing a list of all of my YouTube videos including the ability to watch them in the app and download starter and completed source code
Free on Gumroad
SymbolBrowser App
Browse Apple's complete SF Symbols library from your menu bar. Search, preview effects, customize colors, generate SwiftUI/UIKit/AppKit code, and copy symbols as images — all without leaving your workflow. Available on Gumroad: (Pay what you want)
GitHub Directory Downloader for Mac
This simple app lets you download any specific directory from any GitHub repository—whether it's public or private. Just copy the folder URL, paste it into the app, and download exactly what you need. It remembers your download locations, keeps a history of what you've grabbed, and even supports branch selection. Perfect for developers who want quick access to starter projects, code examples, or specific folders without the hassle of cloning entire repositories. Available on Gumroad: (Pay what you want)
Smile4Me Course
The course is now Free to download from: https://stewartlynch.github.io/Smile4Me-Course-Content/
|
|
|
Affiliate Links
BigMountain Studio Books
Mark Moeykens is a master at creating SwiftUI reference books. I have purchased every one of these books and refer to them all the time.
Use this link and we both will benefit
https://www.bigmountainstudio.com/a/77jt8
|
|
|