Those Who Swift - Issue 213
Weekly note ✏️Who would’ve imagined just a few years ago that we'd see alternative app stores on iOS in the EU and external payment links in the US? The tech world is shifting fast—and even the biggest players are being forced to move. The recent U.S. court decision affecting App Store Guidelines Section 3—specifically, “Other Purchase Methods”—is a major turning point. This change may finally let developers avoid Apple’s tax cut, a long-standing frustration in the dev community. But let’s be clear: this wasn’t handed out freely. It was the result of a high-profile legal battle—Epic Games vs. Apple—where major corporations were fighting over revenue control. And now that the door is open, Amazon’s Kindle app has reportedly wasted no time walking through it. Amazon is no small fish. So the real question is:
We’ll have to wait and see. But one thing is clear: the once impenetrable walls of Apple’s ecosystem are starting to show cracks—and that could mean more freedom, flexibility, and fairness for indie devs down the line. Connect with the "Those Who Swift" team - Justas Markus & Anton Gubarenko 👋 Sponsor 🤝Product for Engineers: Helping engineers flex their product musclesProduct for Engineers is PostHog’s newsletter dedicated to helping engineers get better at product. It includes what they’ve learned from building PostHog, research into top startups, and curated advice on building great products. Swift Around the Web 🌐Demystifying Picture in Picture on iOSArtem Novichkov provides a concise guide on implementing Picture in Picture (PiP) mode in iOS applications. He demonstrates how to enable PiP for both standard video playback using AVPlayer and custom video sources, such as live camera feeds via AVFoundation. What's New in Swift 6.1Paul Hudson outlines the key enhancements in Swift 6.1, highlighting improved syntax flexibility and compiler diagnostics. Notably, SE-0439 introduces support for trailing commas in various constructs like arrays, dictionaries, tuples, function calls, and generic parameters, promoting cleaner diffs and easier code maintenance. SwiftUI View Model OwnershipChris Eidhof explores the nuances of managing view model ownership within SwiftUI views. He emphasizes that when a view owns its view model, using Coding 👨💻Adding Dependencies to Binary Swift PackagesIn his article, Daniel Saidi addresses a limitation in Swift Package Manager (SPM): binary targets cannot directly declare dependencies. To work around this, he suggests adding dependent packages as separate targets and including them in the product's target list. Migrating to the UIKit scene-based life cycleThis technical note guides developers through transitioning their iOS apps from the traditional Apple News 🍏Updated guidelines for USA controversial yet highly anticipated change to the US App Store Review Guidelines now allows apps to link to alternative purchase methods Hello Developer: May EditionApple unveils the Pathways: pack of videos, articles and docs for exact platforms to learn about. Also Accessibility Day initiative and behind the scenes of ‘Wreck‘. Design 🎨SwiftUI: How to Use Custom Fonts, Colours, and Images in a Swift PackageJeremy Gale offers a practical guide to integrating custom fonts, colors, and images within a Swift Package for SwiftUI projects. He outlines methods to ensure these assets function correctly in both runtime and Xcode Previews, including strategies for registering fonts and managing asset bundles. Other cool stuff 🧰Ten Years Older: Voice Takes OverArticle discusses how advancements in voice recognition and AI have transformed user interactions, making voice a primary mode of communication with devices. And of course offers insights into the implications of this shift for developers and the future of human-computer interaction. Why Some Mac Apps Launch Slowly: A Follow-UpJeff Johnson revisits his 2024 analysis of slow Mac app launches, attributing delays to Gatekeeper's malware scanning during app startup. He discusses how macOS 15.4 introduced a change where Gatekeeper scans apps only when they are first launched, rather than during installation, leading to noticeable delays for users launching apps for the first time. Complexity Part 4: AbstractionsDmitrii Ivanov continues his journey to Complexity Realm: now he delves into the dual nature of abstraction in software development, highlighting its power to simplify complex systems and its potential to introduce unintended complexity when misapplied. He emphasizes the importance of context in designing effective abstractions and warns against pitfalls like premature generalization and leaky abstractions. AI 🤖Gemini 2.5 Pro UpdateGoogle has released an early preview of Gemini 2.5 Pro, featuring significant improvements in coding capabilities, particularly for building interactive web applications. Developers can access Gemini 2.5 Pro via the Gemini API in Google AI Studio, Vertex AI, and the Gemini app. Tutorials 📒Synthesizing Text into Speech in SwiftUIAuthors demonstrate how to convert text into spoken audio within a SwiftUI application using the AVFoundation framework. The tutorial guides developers through integrating Implementing Live Activities in a SwiftUI AppMatteo Altobello provides a comprehensive tutorial on integrating Live Activities into SwiftUI applications using the ActivityKit framework. Through a 3D printing simulation, he demonstrates how to display real-time updates on the Lock Screen and Dynamic Island, including progress, elapsed time, and status messages. Video 🎥Build Your First Apple Multiplatform AppTime to learn how to make an app which is compatible through all iOS ecosystem - iOS, macOS, iPadOS, visionOS Yet, another thing…📎Clippy is Back!Finally we can bring back the Clippy with connected LLLm and chat with an old friend. Or foe.. It depends. Thanks for reading Those Who Swift! Subscribe for free to receive new posts. |