Those Who Swift - Issue 197
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 BuildAttackers 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 inA 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 SwiftThis 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 securityNatascha Fadeeva explores Swift's hash functions, explaining how they work and their importance in data structures like sets and dictionaries. The post covers the Using withObservationTracking to monitor changes in @Observable properties outside SwiftUI viewsLearn 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 inflectionLearn 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 WebBeginning 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 SwiftUILearn 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 informationThis 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 phasesLearn 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-V3DeepSeek 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 appThis 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 updateApple 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.📍 |