DEV Community

Cover image for Xcode 26.5 — What Developers Actually Need to Know
ArshTechPro
ArshTechPro

Posted on

Xcode 26.5 — What Developers Actually Need to Know

Xcode 26.5 RC is out. It is not a landmark release, but if you ship subscription apps or work across Swift, SwiftUI, or web views, there is enough here to warrant attention before you push your next build.

Here is what matters.


The App Store Deadline You Cannot Miss

Before getting into features — if you have not already done this, stop and do it now.

Starting April 28, 2026, all new apps and app updates uploaded to App Store Connect must be built with the iOS 26 SDK or later (and the equivalent SDKs for tvOS, visionOS, and watchOS). If your CI/CD pipeline is still on Xcode 16, it will start rejecting your submissions. Update your build environment to Xcode 26 immediately.


StoreKit: The Headlining Addition

The most substantive developer-facing change in 26.5 is a set of new StoreKit APIs built around monthly subscriptions with a 12-month commitment billing plan — a billing configuration Apple introduced in App Store Connect.

If your app monetizes via subscriptions, this is the update for you.

What is new

SubscriptionInfo.pricingTerms (PricingTerms model)
You can now read pricing information for subscriptions with a monthly-with-12-month-commitment plan directly from StoreKit. No more hardcoding pricing strings in your UI. Pull them live.

billingPlanType PurchaseOption
Specify the billing plan type at the point of purchase for subscriptions using the new commitment configuration. This gives you programmatic control over which billing path the customer follows.

CommitmentInfo on Transaction and SubscriptionRenewalInfo
Read customer entitlement metadata for subscriptions purchased on a monthly billing plan type. This belongs in your transaction verification and renewal logic.

preferredSubscriptionPricingTerms(_:) — SwiftUI merchandising
Import both StoreKit and SwiftUI and you get a new view modifier that handles merchandising monthly commitment plans using Apple's built-in styles. If you are building a subscription paywall, this is the fastest path to a design that follows Apple's conventions without rolling your own layout.

Availability note

These new billing plans will be available worldwide — except the United States and Singapore — on iOS 26.4 and later, with iOS 26.5's release in May.

Known issue to flag

There is one active bug worth noting before upgrading your test pipeline:

SKTestSession cannot use the selected StoreKit configuration during unit tests, causing test actions to fail. The workaround is to add a small delay before running the test so the configuration has time to persist on-device. Document this in your test setup code so no one wastes time debugging it later. The feedback number is FB22237318 if you want to follow along.


Debugger Fixes Worth Knowing

Swift Task stepping across threads
The debugger can now correctly follow a Swift Task when a step operation causes the task to be migrated to a different thread. If you have hit confusing debugger behavior during async/await step-throughs, this should resolve it.

SwiftUI Previews duplicate launch bug fixed
A run action was incorrectly launching a duplicate app instance when using SwiftUI Previews, or when running a command-line app that opens windows via SDL, GLFW, or NSApplication APIs without an app bundle. That is now resolved.

Swift enum Optional SBValue representation
The payload of a Swift enum or Optional SBValue is now represented as a synthetic child rather than a direct child. If you have custom Python data formatters that unwrap Optional values, they will continue to work as long as you have not disabled SetPreferSyntheticValue().


Editor and Source Control Fixes

Syntax highlighting performance
Several major performance issues with syntax highlighting in Swift files have been resolved. Large files should feel noticeably more responsive.

Git performance for large repositories
An issue where workspaces touching git repositories with many tags or branches would experience sudden hangs and spins has been fixed.

Documentation viewer
Missing documentation for PhotoKit and some SwiftUI symbols in the documentation viewer and Quick Help has been restored.


Interface Builder

Two additions worth noting if you still use IB:

  • The "Show Library" button (+) has moved from the main toolbar to the bar at the bottom of the canvas.
  • A new "Control Metrics" property in the File inspector for Mac XIB and Storyboard documents allows you to design for environments where prefersCompactControlSizeMetrics will be set at runtime.

Instruments

The SceneKit template has been removed. SceneKit Instrument remains available in the library, and SceneKit itself is now deprecated across all Apple platforms. If you have not started migrating to RealityKit, now is the time.

The previous SwiftUI template containing View Body and View Properties instruments has been replaced — both instruments are deprecated but remain accessible in the library.


Summary

Xcode 26.5 is a focused update, not a feature drop. The StoreKit subscription billing APIs are the reason to prioritize testing against this SDK if you run a monetized app. The debugger and source editor fixes improve everyday reliability. And if you have not already migrated your build pipeline to Xcode 26, the April 28 App Store deadline makes that non-negotiable.

Top comments (0)