WWDC 2023 highlights: What’s in store for subscription apps

Charlie Chapman shares his first impressions of WWDC 2023

The RevenueCat crew at the pre- WWDC 2023 barcade party
Charlie Chapman

Charlie Chapman

PublishedLast updated

I was on the ground near Apple Park meeting amazing developers and discussing all of the new devices and APIs we all have to work with. The energy level has been electric with the announcement of a brand new hardware platform and App Store with Vision Pro.

Also, this year, RevenueCat held our first ever pre-WWDC Barcade Bash at MINIBOSS and had a blast! The food and drinks, pinball tournament and arcade games made for an unforgettable night. Meeting all of the new friends and old friends face to face was such a wonderful experience.


Throughout the week, the RevenueCat team has been pouring through the announcements, sessions, and documentation to understand what will change for mobile businesses with in-app purchases. We got some cool new development features this year!

Here are a few of the big announcements Apple introduced at WWDC 2023.

StoreKit views

source: Apple 

A big new feature of SwiftUI this year is StoreKit views. These are a collection of SwiftUI views called ProductView, StoreView, and SubscriptionStoreView that can automatically render your in-app purchase products for building out a paywall across Apple’s platforms.

These paywalls can be customized with custom background colors or images, as well as links for terms of service and privacy policies. You can also optionally add auxiliary buttons, such as a sign-in button.

StoreKit views appear to be a quick, though limited way to quickly build a paywall view. It will be interesting to see how this develops over time!

StoreKit Testing Tools

StoreKit testing received a couple of big improvements this year.

Transaction Manager

source: Apple

The transaction manager can now organize all of your testing apps for all of your devices and simulators. This should make it much easier for testing in-app purchases across multiple real-world devices!

You can also now create a purchase directly within the transaction manager from the Mac, instead of having to submit a purchase on your app in the simulator or real-world device. Simulating purchases syncing across multiple Apple devices should now be much easier with this ability.

Xcode StoreKit Configuration Settings

source: Apple

In Xcode, StoreKit configuration files have received a big upgrade this year. There’s a new section at the top of the configuration file called Configuration Settings that contains configurable options for your test environment.

The default storefront and purchase options were settings that were previously available in the Editor menu when your StoreKit configuration was opened.

The Simulated StoreKit Failures section is a set of brand-new controls that allow you to simulate errors from various StoreKit 2 API while testing your app. You simply check the box next to the API you want to throw an error, and then select the error you want it to throw. Then, when you run your app, it will receive the configured error when it makes that request.

This is very exciting and should make building robust in-app purchase experiences much easier.

New StoreKit 2 fields

While not as substantial as the initial StoreKit 2 release a couple of years ago, StoreKit 2 did receive a couple of new fields worth pointing out.

Under the transaction model, there are two new fields called storefront and storefrontCountryCode. These should make it easier to know what country a transaction occurred from.

There is another new field in the transaction model called reason. This field explains whether a customer initiated a purchase themselves, or if the transaction is from an automatic subscription renewal.

There is also now a new field called nextRenewalDate in the RenewalInfo model under Product.SubscriptionInfo. This field will tell you when a subscription renewal is due to be processed.

These new fields are available for apps built with Xcode 15, and most work retroactively with prior versions of iOS when using StoreKit 2. This should make it easy to integrate into apps when Xcode 15 ships later this year.

Improvements to the manage subscriptions sheet

Apple updated their existing manage subscription sheet to allow people to get to the subscription they want faster. The new manage subscription sheet can open directly to a specified subscription group, instead of requiring a tap into the correct group.

Deprecation of verifyReceipt

Apple’s documentation has now marked the verifyReceipt web service endpoint as deprecated. If you’re using the verifyReceipt endpoint currently, you will eventually have to migrate to a new method for validating receipts. 

You can find Apple’s documentation about the deprecation here.

Wrap up

This is just the highlights of the changes Apple announced at WWDC this year. We’re already at work taking advantage of these new updates to make RevenueCat an even better experience for our customers!
Want to learn more? Check out our WWDC Recap webinar for more in-depth details.

In-App Subscriptions Made Easy

See why thousands of the world's tops apps use RevenueCat to power in-app purchases, analyze subscription data, and grow revenue on iOS, Android, and the web.

Related posts

What is SKErrorDomain Error 0 and what can I do about it?
Engineering

What is SKErrorDomain Error 0 and what can I do about it?

What to do when seeing SKErrorDomain Error code 0 from StoreKit on iOS.

Charlie Chapman

Charlie Chapman

April 24, 2024

How we solved RevenueCat’s biggest challenges on data ingestion into Snowflake
How we solved RevenueCat’s biggest challenges on data ingestion into Snowflake
Engineering

How we solved RevenueCat’s biggest challenges on data ingestion into Snowflake

Challenges, solutions, and insights from optimizing our data ingestion pipeline.

Jesús Sánchez

Jesús Sánchez

April 15, 2024

How RevenueCat handles errors in Google Play’s Billing Library
How RevenueCat handles errors in Google Play’s Billing Library  
Engineering

How RevenueCat handles errors in Google Play’s Billing Library  

Lessons on Billing Library error handling from RevenueCat's engineering team

Cesar de la Vega

Cesar de la Vega

April 5, 2024

Want to see how RevenueCat can help?

RevenueCat enables us to have one single source of truth for subscriptions and revenue data.

Olivier Lemarié, PhotoroomOlivier Lemarié, Photoroom
Read Case Study