WWDC 24: What's new with in-app purchases
Apple's premier developers' conference, WWDC 24, has concluded, bringing a wealth of updates for developers. This article highlights the latest enhancements, particularly concerning in-app purchases.

Deprecation of StoreKit 1
The older API, StoreKit 1, which utilized the verifyReceipt endpoint with base64 receipt and shared secret, is now deprecated. Developers are encouraged to transition to StoreKit 2. The new StoreKit 2 API uses an In-App Purchase key and authorizes requests with JWT tokens signed with a private key.
Transitioning to StoreKit 2 is streamlined with tools like Apphud, which offers comprehensive support for the new API. Learn more about setting up your iOS app with Apphud to work with StoreKit 2.
Improvements to StoreKit 2
Apple has introduced several improvements to the StoreKit 2 API:
- New Properties for the Transaction Model: Apple has added
priceandcurrencyfields to the Transaction model, enhancing analytics precision. - Consumables History: The API now returns the complete history of consumable purchases, a significant improvement over the previous method that only returned unfinished consumable purchases. Developers must opt in by adding the
SKIncludeConsumableInAppPurchaseHistorykey to the app's Info.plist with a value oftrue.
Consumables history- New Offer Model: The Transaction and RenewalInfo models now include a promotional offer model if used during the subscription purchase, containing the offer ID, type, and payment mode.
Win Back Offers
Apple has introduced out-of-the-box Win Back offers to help recover churned subscribers. Developers can set up Win Back offers in App Store Connect, including eligibility rules, without requiring additional code.
These offers can be redeemed both in the app and on the App Store page.
Win back offer design within the appEligibility Criterias
Let's take a look at the eligibility criterias for customers. Developers can set up three criteria for Win Back offers.
Paid subscription duration
It is the minimum amount of time measured in months that a customer had paid for a subscription. This allows us to set up offers based on how long customers have been subscribed.
Time since last subscribed
This indicates the time that has passed since the last active subscription. Requires minimum and maximum values in months. This allows us to set up offers based on how long customers have been unsubscribed.
Time since last subscribedWait between offers
This is an optional criteria. This indicates the minimum amount of time in months that must pass before the customer can redeem the offer again.
Wait between offersStoreKit Views
Introduced at WWDC 23, StoreKit views are basic built-in paywalls for subscription apps. WWDC 24 brings new styles for subscription plan selection:
- Compact Picker
- Paged Picker
- Page Prominent Picker
StoreKit viewsDevelopers can customize each subscription plan card, although the current customization options may not suffice for production needs. For more robust paywall solutions, check out our Paywalls Gallery, featuring paywall designs and onboarding screens.
In-App Purchase Testing Improvements
Apple has expanded the StoreKit configuration file to support new testing scenarios, including:
- Win back offers with eligibility criteria control
- Privacy policy and license agreement sheet popups
- Localization of subscription group display names
Additionally, Xcode now supports purchase intents to test promoted purchases initiated from the App Store page, including App Store offers and Win Back offers.
Xcode 16
Xcode 16 received a significant update, introducing predictive AI code completion, support for Swift 6, and improved SwiftUI previews.
AdAttributionKit
Apple has unveiled AdAttributionKit, a new framework for advertisers intended to replace the SKAN framework. Despite the new name, it retains the same core features: three postbacks, 64-bit conversion value, and privacy mechanisms, with added support for alternative app stores and re-engagement.
Summary
While WWDC 24 may not have introduced numerous major updates, it has brought several valuable enhancements across various APIs, frameworks, and tools. Apphud stays updated with the latest changes to ensure seamless integration and support for developers.
