Snapp Mobile iOS Newsletter

Issue 13 • October 25, 2024

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.