iOS Newsletter
Hey hey,
With a couple of important announcements from Apple, and a few articles on server-side Swift, we ran out of space for UI/UX entries again.
We managed to squeeze one for you, though. And, in case you haven’t yet, we highly recommend looking at the updated TabView
appearance and behavior for iPadOS 18 — there was a dedicated WWDC session on it this year.
Enjoy this week’s mixture!
News
Apple Push Notification service server certificate update
Apple announced that the Certification Authority (CA) for Apple Push Notification service (APNs) is changing. The certificates in sandbox will be updated on January 20, 2025, and in production on February 24, 2025. All developers using APNs will need to update their application’s Trust Store to include the new server certificate. You can find more info and link to the updated certificate in the article.
New requirements for app updates in the European union
Apple published new requirements for app updates in the EU that have been in place since last Friday. To submit app updates, Account Holders or Admins in the Apple Developer Program need to enter trader status in App Store Connect. All apps without a trader status will be removed from the App Store in the EU starting February 17, 2025.
Swift
Global actors in Swift
Actors are important building blocks in Swift 6. Understanding them is key to applying thread-safety with the new Concurrency model. This article focuses on the GlobalActor
protocol and the @globalActor
annotation and explores their application.
Xcode
AnyView is everywhere in Xcode 16
Apple has claimed that the new execution engine for Previews in Xcode 16 is up to 30% faster, but it seems this comes at the cost of wrapping your views in AnyView
for debug builds. Luckily for us, there’s a way to opt out of this behavior as the article suggests.
Server-side Swift
Build a Web Service with Vapor
Vapor has been around for quite some time, has a great community, and has been following the Swift language evolution quite closely. In fact, it’s among the first projects that proved that Swift can be used for a lot more than writing iOS applications. It’s definitely worth a look if you are seeking a (hobby) project. Here’s an article on getting the basics up and running.
Vapor and Swift Testing: Running tests in parallel
Antoine van der Lee with another useful article, full of tips on how to set up your Vapor codebase for testing. Even more, he takes a look at speeding up your tests by running them in parallel leveraging the new SwiftTesting
framework. (Neat!)
Deploying to AWS with Fargate, Vapor, and MongoDB Atlas
In case you get involved a bit deeper with server-side, and you need an idea on hosting your project - here’s an article that goes through a potential solution. Even if you choose not to use AWS (or even MongoDB Atlas), the information on how to set up your project in a Docker container is still valuable.
UI/UX
How to embed views in a tab bar using TabView
Finally some UI/UX material — as we promised last week 😊. A new enhancement to SwiftUI (starting from iOS 18) is the introduction of a Tab
and TabSection
views that we can use to describe the TabView
content semantically. These are related to the new behavior for the TabViews
on the iPad, and thanks to Paul Hudson we now have some examples on how to deal with them.