Weekly Newsletter Issue 31

Weekly Newsletter Issue 31

Weekly newsletter summing up our publications and showcasing app developers and their amazing creations.

Welcome to this week's edition of our newsletter.

Apple has just announced the Swift Student Challenge! It offers aspiring developers a unique chance to join a global community of innovators using Swift to showcase their creativity.

Swift Student Challenge
Showcase your love of coding by submitting your app playground to the Swift Student Challenge.

The applications will open in February, so if you are a student and you are planning to apply, you have time to brainstorm and prepare your submission! To keep yourself engaged and motivated a good strategy is to not do it alone, you can check Apple's Swift Coding club page to find many suggestions on how to start building a community of app developers in your educational environment.

Swift Coding Club - Learn to code - Apple Developer
Swift Coding Clubs are a great way to learn app development, build community, and get ready for the Swift Student Challenge. Use these resources to start your club.

And take a look at the updated materials and tutorials at Apple's learning portal as well. Alongside the Swift Student Challenge announcement, Apple has also updated the Develop in Swift tutorials.

Follow us also on X (Twitter) and LinkedIn if you haven't already!

Published this week

This week we have covered Speech Framework, SwiftUI and Swift Charts.

Transcribing audio from live audio using the Speech framework

Matteo shows step-by-step how to create a simple app that transcribes live audio into text in real-time leveraging the Speech framework.

Transcribing audio from live audio using the Speech framework
Learn how to create a SwiftUI application that transcribes audio to text using the Speech framework.

Applying visual effects combined with scrolling in SwiftUI

Antonella discusses the visualEffect(_:)  modifier and how to use it to apply effects that change based on a view’s position while scrolling.

Applying visual effects combined with scrolling in SwiftUI
Learn how to apply visual effects to your views while scrolling with SwiftUI.

Plotting math equation using Swift Charts

Matteo demonstrates how to use the new plotting options to display mathematical equations using Swift Charts.

Plotting math equation using Swift Charts
Discover how to plot math equations using Swift Charts in a SwiftUI app.

A week of Conferences

This week was another conference week for us!

Flora was at SwiftLeeds 2024 with her great talk about app icons.

Create with Swift at SwiftLeeds
This article will get you started with material created for our session presented at SwiftLeeds 2024.

While today at DesignFAO 2024, Emanuele and Giovanni discussed designing human-centered spatial experiences.

Create with Swift at DesignFAO
This article will get you started with material created for our session presented at DesignFAO 2024.

From the community

Here are our highlights of articles and resources created by the app developer community.

Beware UserDefaults: a tale of hard to find bugs, and lost data

Christian discusses unexpected and hard-to-debug issues developers might encounter when using UserDefaults suggesting possible solutions.

Beware UserDefaults: a tale of hard to find bugs, and lost data
Excuse the alarmist title, but I think it’s justified, as it’s an issue that’s caused me a ton of pain in both support emails and actually tracking it down, so I want to make others aware of it so they don’t similarly burned. Brief intro For the uninitiated, UserDefaults (née NSUserDefaults) is the de facto iOS standard for persisting non-sensitive, non-massive data to “disk” (AKA offline). In other words, are you storing some user preferences, maybe your user’s favorite ice cream flavors?

UserDefaults and Observation in SwiftUI: How to Achieve Precise Responsiveness

Fatbobman explores the challenges of integrating UserDefaults with the new Observation framework and introduces the ObservableDefaults library, a custom solution that allows properties to react to external changes in real-time while reducing unnecessary view refreshes.

UserDefaults and Observation in SwiftUI - How to Achieve Precise Responsiveness | Fatbobman’s Blog
This article will explore how to efficiently and conveniently manage data in UserDefaults under the Observation framework and propose a complete and practical solution.

Adopt iPhone 16 Camera Control into your SwiftUI App | Camera Control API

Kavsoft shows how to create a basic camera view using AVKit and how to adopt iPhone 16's new Camera Control into a SwiftUI app.

How to listen for property changes in an @Observable class using AsyncStreams

Pol explains how to use SwiftUI’s @Observable macro to monitor property changes and how AsyncStreams can be used to handle more complex operations.

How to listen for property changes in an @Observable class using AsyncStreams
A comparison between ObservableObject and the new Observable macro and how to listen and react to property changes in both.

Indie App of the Week

Scratchpad

Scratchpad is a simple, one-note app developed by well-known indie macOS developer Sindre. It allows you to quickly write down thoughts with a single note accessible from the Menu Bar.

Designed to be minimalist, simple, clean and focus, it provides a distraction-free writing experience. With iCloud sync and support also for iOS and visionOS, Scratchpad ensures your notes are always accessible across devices.

‎Scratchpad
‎Capture your thoughts instantly in a single, always-accessible note. Scratchpad sits in your menu bar or Dock, ready whenever inspiration strikes. • One-click access • Clean, distraction-free interface • Lightning-fast and lightweight • Sync with iCloud, or not • Custom hotkey for instant writing…

Apple has released a series of tutorials that walk you through essential features of Instruments, a powerful performance analysis and debugging tool from Apple that helps developers improve the efficiency and responsiveness of their apps.

Profiling apps using Instruments | Apple Developer Documentation
Use Instruments to analyze the performance, resource usage, and behavior of your apps. Learn how to improve responsiveness, reduce memory usage, and analyze complex behavior over time.

We can’t wait to see what you will Create with Swift.

See you next week!

Follow us also on X (Twitter) and LinkedIn if you haven't already!