Welcome to another issue!
Bye Curated. โ
Hey! ๐
As I shared previously, we will be moving from Curated to Substack. This will be the last email from Curated platform...
I manually migrated all subscribers to Substack. In case I missed any of you, please check/subscribe here Substack.
You will receive an email from Substack later today, and we will use Substack ONLY starting next week.
Sponsored Link
Scale up your snapshot tests, without the friction
Spending too much time maintaining snapshot tests? Screenshotbot works with your existing snapshot tests and stores your images.
Say goodbye to Git LFS. Screenshotbot notifies you on pull-requests when snapshots change.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Artificial intelligence (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.
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.
Videos
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.