WWDC 2023 highlights: What’s in store for subscription apps
Charlie Chapman shares his first impressions of WWDC 2023
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.
You might also like
- Blog post
Implementing in-app purchases and monetizing your Roku app: A step-by-step guide
A comprehensive guide to implementing and monetizing your Roku channel, from choosing the right strategy to technical tips and integration best practices.
- Blog post
How we built the RevenueCat SDK for Kotlin Multiplatform
Explore the architecture and key decisions behind building the RevenueCat Kotlin Multiplatform SDK, designed to streamline in-app purchases across platforms.
- Blog post
Inside RevenueCat’s engineering strategy: Scaling beyond 32,000+ apps
The strategies and principles that guide our global team to build reliable, developer-loved software