Those Who Swift - Issue 197
Your weekly dose of Swift!
Weekly note ✏️
Hello everybody! 👋
For those who have been subscribers for years, I have finally migrated you all (hopefully I didn't miss anyone 😬) to Substack.
Curated founder Dave Verwer shared that things had not been going well with the platform for some time now. He also left Curated. Our main reasons for leaving was that there were bugs and other small issues.
As of today, you already received Curated's last email, and next week, we'll exclusively work on the Substack platform.
Our team is already in discussions with creators and conferences so we can thank our community and offer exclusive deals and discounts. Besides sharing news, our goal is to give you something that makes you happy to be a part of this community.
We have lots planned for 2025!
Connect with the "Those Who Swift" team - Justas Markus & Anton Gubarenko 👋
Sponsor 🤝
Multi-Layered Mobile App Protection That Automatically Changes with Every Build
Attackers constantly find ways to reverse engineer, tamper with, or clone apps, putting sensitive data and revenue streams at risk. Join our webinar to unlock insights into how a multi-layered protection approach adapts with every build to neutralize mobile app threats.
Swift Around the Web 🌐
Migrating from the Outside in
A migration strategy for Swift concurrency, recommending an "outside-in" approach. Starting from the UI, this strategy facilitates easier isolation with @MainActor and helps identify synchronous UI access points. The author emphasizes isolating long-running synchronous work over avoiding @MainActor. Read more.📍
Solving “Main actor-isolated property can not be referenced from a Sendable closure” in Swift
This post addresses the error "Main actor-isolated property can not be referenced from a Sendable closure" in Swift concurrency.
It explores solutions like modifying the closure to be asynchronous, annotating the closure with @MainActor, and capturing the property value. The post also addresses challenges with mutation. Read more.📍
Coding 👨💻
How to use cryptographic hash functions in CryptoKit for iOS security
Natascha Fadeeva explores Swift's hash functions, explaining how they work and their importance in data structures like sets and dictionaries.
The post covers the Hashable protocol, custom hash implementations, and best practices for ensuring efficient and collision-free hashing. Read more.📍
Using withObservationTracking to monitor changes in @Observable properties outside SwiftUI views
Learn how to use Swift's Observation framework to monitor changes in @Observable properties outside SwiftUI views. It explains the withObservationTracking function and provides a refined implementation for continuous observation. Read more.📍
Handle plurals in SwiftUI Text views with inflection
Learn how to handle plurals in SwiftUI Text views using the inflect: true attribute and Foundation's automatic grammar agreement feature. It simplifies localization efforts by dynamically adjusting the text based on the variable's value, ensuring correct pluralization. Read more.📍
Apple News 🍏
Algorithm changes to server connections for Apple Pay on the Web
Beginning next month, Apple will update the algorithms used to secure server connections for Apple Pay on the Web. To avoid any service disruptions, make sure your production servers support at least one of the six specified ciphers by February 4, 2025. Read more.📍
Design 🎨
Exploring Tab View Styles in SwiftUI
Learn to explore customizing SwiftUI's TabView appearance and behavior. It covers styles like .page and the iPadOS-specific .sidebarAdaptable style, which allows customization with tabs, sections, drag-and-drop, and user preferences. This post also introduces modifiers for enhancing the sidebar. Read more.📍
Other cool stuff 🧰
How to hide private information
This post shows how to hide sensitive information in an iOS app using SwiftUI. It leverages the scenePhase environment value to blur sensitive information when the app is inactive dynamically, enhancing app security and privacy. Read more.📍
Controlling keyboard events with keys and phases
Learn how to control keyboard events in a SwiftUI app using the onKeyPress() modifier. It explains how to customize keyboard event handling by specifying the pressed key, its phase, and combinations, as well as by specifying characters.
The post provides code examples and explanations for each scenario, enabling developers to effectively control keyboard interactions. Read more.📍
AI 🤖
DeepSeek-V3
DeepSeek announced new update with chat accessed from Web and iOS app. Its 'Thinking' mode turns the AI into an expert on any topic. It reads diagrams, writes anything from research papers to social posts, and supports file uploads. Developers like its coding skills, and it’s more creative and witty than ChatGPT or Claude—crafting sharp punchlines effortlessly. Read more.📍
Tutorials 📒
Creating custom SF Symbols using the SF Symbols app
This tutorial guides you through creating custom SF Symbols using Apple's SF Symbols app, emphasizing that no advanced design skills are required. It covers the process step-by-step, enabling developers to enhance their app icons and symbols effectively. Read more.📍
Video 🎥
Apple WWDC YouTube videos update
Apple continues to update its YouTube channel with videos from past WWDC sessions. This week, the channel has been populated with videos from WWDC22 and WWDC21. Read more.📍

