iOS Newsletter
Hi folks,
This week, we’re looking at a small but extremely important language improvement around enabling sendability with weak
references; a set of machine-learning tutorials from Apple; uncovering the mystery around Institutional Purchases; and a talk about using Swift on Linux.
Enjoy!
Swift
weak let
This Swift language evolution proposal has been accepted, meaning that weakly referenced objects can finally conform to the Sendable
protocol. We’re looking forward to adopting it when it makes it to the official language release.
UI/UX
Sending Email in SwiftUI
Sometimes it’s the basics that matter - composing an email from within our apps can be useful for gathering the users’ feedback. This tutorial walks us through the options that we have for implementing an email composing feature with SwiftUI.
Institutional Purchases: Understanding and Detecting
This article gives us an insight into detecting Institutional Purchases with ReceiptParser
. Here’s why it may be of interest:
Institutional Purchases refer to app acquisitions made by organizations such as schools, universities, or businesses through Apple’s Volume Purchase Program (VPP) or Apple Business Manager (ABM). These purchases are typically done in bulk and managed centrally, allowing institutions to distribute apps to their users—students, employees, or devices—without requiring individual Apple IDs or personal payment methods.
Customizing a Chart in Swift Charts
Graphs are great for presenting data in an understandable manner. Apple’s Charts library offers not only powerful features, but also a nice API with a great degree of customization. This article is just an entry on what’s possible, so don’t miss it.
AI / ML
Welcome to machine learning
Apple has come up with a set of docc
-driven tutorials on various machine learning topics - from recognizing text sentiment, through extracting text from images to training a CoreML
model with CreateML
and using the model in the context of an app. Instant bookmark from us.
Data
Realm with Swift 6 Async Await and Actor-Based Concurrency
Realm is still around and it’s still great! This article walks us through the process of using Realm with Swift’s new concurrency model, so don’t hesitate to give it a read if you are on the same topic.
Testing
Don’t trust your code coverage
This article gives us another approach to testing - mutation testing. Here’s what it is, in nutshell:
Mutation testing (or mutation analysis) is used to design new software tests and evaluate the quality of existing software tests by identifying weakly tested pieces of code (code that is not covered by a test) and identify weak tests (tests that don’t bring any benefit)
The article also links to an open-source project, called Muter which can be useful in adopting this technique in your projects.
Talk
try! Swift Tokyo 2025 - Live coding a streaming ChatGPT proxy with Swift OpenAPI—from scratch!
Live coding talks are always fun, especially when they come from Apple employees. This one is aimed at Swift development for Linux using Visual Studio Code, so it’s more in the realm of discovering the language capabilities on other platforms. Check it out, if only for seeing a live demo of Apple’s Swift OpenAPI Generator library for generating a client from the official ChatGPT OpenAPI document.