Summary of notable changes in iOS app development (2026/09/10)

Summary of notable changes in iOS app development (2026/09/10)

iOS 27 RC / Xcode 27 RC release notes were compared against Beta 4, and developer-facing changes accompanying the iPhone Duo announcement were also summarized. Changes to be aware of before GA were organized, including breaking changes to MetricKit, changes to iPad resize behavior, and the mandatory migration away from UIScreen.main.
2026.09.11

This page has been translated by machine translation. View original

On September 10, 2026 (Japan time), iOS 27 RC and Xcode 27 RC were released. RC stands for Release Candidate, meaning this build will be released as-is as the GA if no major issues are found. Also on the same day, the first foldable iPhone, "iPhone Duo," was announced.

The previous article summarized the highlights of the Beta 4 release notes. This article compares the differences from Beta 4 to RC, and also summarizes the developer-related changes accompanying the announcement of iPhone Duo. No verification has been performed on actual devices; this is based on the content of release notes and official documentation.

Apple

Xcode 27 RC Release Notes

https://developer.apple.com/documentation/xcode-release-notes/xcode-27-release-notes

The system requirements for Xcode 27 RC have been raised to macOS Tahoe 26.6 or later. Since Beta 4 required macOS Tahoe 26.4 or later, you'll want to check your development machine's macOS version in advance.

Regarding Coding Intelligence, Google Antigravity is now available as a coding assistant, and agents can now verify watchOS / tvOS apps including hands-on device operation. Also, a preview of xcrun mcp-server that works without opening an Xcode workspace has been released. It can be enabled with sudo xcrun mcp-server enable.

On the Previews side, many improvements were made, including group rendering support for the RenderPreview MCP tool, per-localization previews, and automatic shutdown of unused simulators. Many known issues in Device Hub have also been fixed. However, note that a known issue has been added where keyboard and mouse input is not accepted for simulators running iOS 18.0 or earlier.[1]

Additionally, devicectl now supports JSON version 5, and hardwareProperties, deviceProperties, and connectionProperties have been deprecated. If you have CI scripts that parse these, migration to the properties dictionary will be required.

iOS & iPadOS 27 RC Release Notes

https://developer.apple.com/documentation/ios-ipados-release-notes/ios-ipados-27-release-notes

In the Swift-native MetricKit API revamped in iOS 27, breaking changes continue to exist as of RC. HitchTimeMetric.ratio and SignpostIntervalMetric.hitchTimeRatio now return a new HitchTimeRatio type, and scrollHitchTime(_:) and the ScrollHitchTimeMetric type have been removed from the API. Apps referencing these will crash unless rebuilt with the latest SDK, so this should be checked as a top priority.

In UIKit, a large number of fixes were made around iPad / iPhone Mirroring. Apps are now treated as continuously resizable even if UISupportedInterfaceOrientations does not include all four orientations, and most of the Known Issues from Beta 4, such as post-resize behavior and layout issues for iPhone-only apps, have been resolved. Since resize behavior on iPad has changed significantly in iOS 27, verifying iPad app behavior is essential.

Many of the issues reported in Beta 4 around StoreKit have also been fixed. Issues such as refund request and subscription management sheets not displaying in TestFlight, and transactions not completing, have been resolved. However, a new known issue has been added where changing the storefront or locale in SKTestSession does not propagate to Storefront.updates.

An issue where tool calling and guided generation were used together in on-device Foundation Models causing tools to be called excessively has also been fixed. This issue occurred with the Beta 5 / Xcode 27 Beta 5 combination, and in my environment it had completely stopped Foundation Models verification, so I'm grateful it was fixed in RC.

Other changes that may affect existing apps include the deprecation of the originalFilename property of PHAssetResource and the addition of a new nullable filename property. Also, volumeAvailableCapacityKey now rounds down to 3 significant figures at the block count level, so apps that display or evaluate free storage space should be aware that the precision of the retrieved value will change.

https://www.apple.com/newsroom/2026/09/apple-unveils-iphone-duo/

iPhone Duo features two displays — an inner 7.6-inch and an outer 5.4-inch — and is equipped with the A20 Pro chip. It runs iOS 27.1, goes on sale October 23, and starts at $1,999 USD (¥364,800 in Japan).

For developers, on the same day, Get ready for iPhone Duo was published, including six Tech Talk videos and the HIG "Designing for iPhone Duo". The prerequisite for support is iOS 27.1 SDK / Xcode 27.1, but these have not yet been released at the time of writing, and no announcement has been made regarding their release timing. Since iOS 27.0 RC / Xcode 27 RC alone are not enough to start development for iPhone Duo, it will be necessary to wait for the release of Xcode 27.1 beta.

The most significant impact on existing apps is that this is the first iPhone to support Split View multitasking. Apps are required to be designed for free resizing. Also, since the inner display does not respect orientation (device orientation), layout decisions that depend on orientation will need to migrate to size classes. Since the inner display has size classes close to those of an iPad (regular / regular), a design that handles all poses with two layouts — compact width (for outer) and regular width (for inner) — is recommended.

UIScreen.main was deprecated in iOS 16, but migration had often been put off since it had no practical impact on single-display iPhones. With iPhone Duo's two-display configuration, it becomes ambiguous which display it refers to, making migration to dynamic retrieval from the window scene effectively mandatory. Standard navigation containers (NavigationSplitView, TabView, etc.) automatically adapt to vertical bar toolbar placement, but custom bars are not. Since safe areas can be asymmetric, the left and right sides need to be handled independently.

In iOS 27.1 SDK, new APIs will be added, including a reservedRegions API for retrieving reserved areas around the fold and camera, a two-view layout container ArrangementView / UIArrangementViewController, and onHingeChange / UIHingeInteraction for detecting hinge state. Note that these API names are based on Tech Talk videos and beta-stage information, so they may change at official release.

As a first step toward support, it is recommended to rebuild with Xcode 27.1, then verify various poses — open, closed, rotated, and folded — in the Device Hub simulator.

App Store Connect Updates

https://developer.apple.com/help/app-store-connect/release-notes/

Apps built with Xcode 27 RC can now be uploaded to the App Store and TestFlight (internal and external testing). The supported SDKs are iOS 27.0 RC, iPadOS 27.0 RC, macOS 27.0 RC, tvOS 27.0 RC, visionOS 27.0 RC, and watchOS 27.0 RC. If you want to proceed with final verification for GA release or TestFlight distribution, you can submit binaries built with the RC SDK.

However, as of the time of writing, Xcode 27 RC has not yet been deployed to Xcode Cloud, so uploading via Xcode Cloud is not yet possible.

Changes to Consider for App Maintenance

From the above, here is a summary of changes likely to affect existing app code or scripts.

  • Apps referencing MetricKit's ScrollHitchTimeMetric or scrollHitchTime(_:) will crash unless rebuilt with the latest SDK. HitchTimeMetric.ratio has also had its type changed, requiring recompilation.
  • iPad resize behavior has changed significantly in iOS 27. Depending on the UISupportedInterfaceOrientations settings, behavior may change, so verifying iPad apps is essential.
  • iPhone Duo's Split View support means resizability is now required for iPhone apps as well. Layouts that depend on orientation need to migrate to size classes.
  • UIScreen.main was deprecated in iOS 16, but with iPhone Duo's two-display configuration, migration has effectively become mandatory. You'll want to switch to dynamic retrieval from the window scene.
  • PHAssetResource.originalFilename has been deprecated. Consider migrating to the new filename property.
  • The value returned by volumeAvailableCapacityKey is now rounded down to 3 significant figures at the block count level. Apps that display or evaluate free storage space will be affected.
  • In devicectl JSON version 5, hardwareProperties, deviceProperties, and connectionProperties have been deprecated. Scripts that parse these need to migrate to the properties dictionary.
  • Xcode's system requirements have been raised to macOS Tahoe 26.6 or later.

Summary

This time, we compared the iOS 27 RC / Xcode 27 RC release notes from Beta 4, and also summarized the developer-related changes accompanying the announcement of iPhone Duo.

The RC portion overall gives the impression of a stabilization release with a large number of known issues from the Beta period fixed, with notable fixes especially around StoreKit, UIKit iPad/iPhone Mirroring, and Device Hub.

Regarding iPhone Duo, there are changes that require revisiting the design assumptions of existing iPhone apps, including the first-ever Split View support on iPhone, orientation-independent layouts, and the effective mandatory migration of UIScreen.main. Once iOS 27.1 SDK / Xcode 27.1 is released, the first step is to check how your own app behaves in the simulator.

Looking back, the pace of UI change has been accelerating over the last few generations: the transition to Liquid Glass design in iOS 26, forced application of Liquid Glass design to all apps in iOS 27, and new UI styles such as vertical bars and Split View with iPhone Duo. Using standard UI components like NavigationSplitView and TabView means automatic adaptation, making things relatively easy, but the more an app customizes its UI, the greater the cost of adapting. It might be a good time to reconsider where to lean on standard components.

Since I have published several personal apps, I'm thinking of actually building each one with Xcode 27 RC next, and summarizing what kinds of issues arise.

Job Openings: Classmethod is Hiring iOS Engineers

The Starbucks Digital Technology division is looking for engineers who can develop iOS apps. We're waiting for applications from people who would like to work with us, sharing thoughts on new Xcode and iOS features in the misc-ios channel!

https://careers.classmethod.jp/requirements/sbj-nativeapp-ios/

We are also hiring iOS/Android engineers in other areas. Let's talk about mobile app development together!

https://careers.classmethod.jp/requirements/category/development/

脚注
  1. My personal app depends on the RevenueCat SDK, which has a bug where subscription item retrieval fails on iOS 18 simulators. Therefore, iOS 18 simulator verification was already out of scope, so this is not an issue for me personally. ↩︎

Share this article