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 in MetricKit, modifications 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 that if no major issues are found, this build will be released as-is as the GA. 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 developer-facing changes accompanying the iPhone Duo announcement. No verification on actual devices has been performed; 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, it's worth checking the macOS version of your development machine in advance.

Regarding Coding Intelligence, Google Antigravity is now available in the 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.

In the Previews area, 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 new Known Issue has been added where keyboard and mouse input is not accepted for simulators running iOS versions earlier than 18.0.[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 overhauled in iOS 27, breaking changes continue to exist as of RC. HitchTimeMetric.ratio and SignpostIntervalMetric.hitchTimeRatio now return the 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 verified 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 regarding behavior after resizing iPhone-only apps and layout issues have been resolved. Since iPad resize behavior has changed significantly in iOS 27, verifying iPad app behavior is essential.

Many issues reported in Beta 4 around StoreKit have also been fixed. Problems such as refund requests and subscription management sheets not appearing 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 used together in on-device Foundation Models caused excessive tool invocations 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 it's welcome that it was fixed in RC.

Among other changes likely to affect existing apps, the originalFilename property of PHAssetResource has been deprecated and a new nullable filename property has been added. Also, volumeAvailableCapacityKey now truncates values to 3 significant figures at the block count level, so apps that display or evaluate available storage capacity should be aware that the precision of retrieved values will change.

iPhone Duo Announcement and Developer Changes

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

iPhone Duo features two displays — a 7.6-inch inner and a 5.4-inch outer — and is powered by the A20 Pro chip. It ships with iOS 27.1, launches October 23, and starts at $1,999 in the US (¥364,800 in Japan).

For developers, on the same day Get ready for iPhone Duo was published with six Tech Talk videos and the HIG "Designing for iPhone Duo." Support requires the iOS 27.1 SDK / Xcode 27.1, but at the time of writing these are not yet available and no release date has been announced. Since the current iOS 27.0 RC / Xcode 27 RC alone is not sufficient to begin iPhone Duo development, developers will need to wait for the release of Xcode 27.1 beta.

The change with the greatest impact on existing apps is that iPhone will support Split View multitasking for the first time. Apps are expected to be designed to be freely resizable. In addition, the inner display does not respect orientation (device orientation), so layout decisions that depend on orientation will need to migrate to size classes. Since the inner display uses regular / regular size classes similar to iPad, a two-layout design — compact width (for the outer display) and regular width (for the inner display) — is recommended to support all poses.

UIScreen.main was deprecated in iOS 16, but since it caused no real harm on single-display iPhones, migration tended to be deferred. 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. Using standard navigation containers (NavigationSplitView, TabView, etc.) will automatically adapt to vertical toolbar placement, but custom bars are not handled. Safe areas can be asymmetric, so left and right must be handled independently.

In the iOS 27.1 SDK, new APIs will be added including a reservedRegions API for obtaining 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 and may change at official release.

As a first step toward support, it is recommended to rebuild with Xcode 27.1 and verify each pose — open, closed, rotated, and folded — using Device Hub simulators.

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. Final verification and TestFlight distribution in preparation for GA can now proceed using the RC SDK.

However, at 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

Based on 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 UISupportedInterfaceOrientations settings, behavior may change, so verifying iPad apps is essential.
  • With iPhone Duo's Split View support, iPhone apps are also expected to support resizing. Orientation-dependent layouts need to migrate to size classes.
  • UIScreen.main was deprecated in iOS 16, but with iPhone Duo's two-display configuration, migration is effectively mandatory. 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 truncated to 3 significant figures at the block count level. Apps that display or evaluate available storage 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

The RC overall gives the impression of a stabilization release in which a large number of known issues from the beta period were fixed, with particularly notable fixes in StoreKit, UIKit iPad/iPhone Mirroring, and Device Hub.

Regarding iPhone Duo, changes are included that require revisiting the design assumptions of existing iPhone apps, such as the first-ever Split View support on iPhone, orientation-independent layout, and the effectively mandatory migration away from UIScreen.main. Once the iOS 27.1 SDK / Xcode 27.1 is released, the first step will be to check how your own app behaves in the simulator.

Looking back, UI changes have been accelerating over the past few generations — the transition to the Liquid Glass design in iOS 26, the forced application of the Liquid Glass design to all apps in iOS 27, and new UI styles like vertical bars and Split View with iPhone Duo. Using standard UI components like NavigationSplitView and TabView means automatic adaptation, which is relatively easy, but apps with heavy UI customization will likely face greater adaptation costs. This may be a good time to reconsider where to align with standard components.

Since I publish several personal apps, I'm planning to actually build each of them with Xcode 27 RC next and compile the issues that arise.

Job Openings: Classmethod is Hiring iOS Engineers

The Starbucks Digital Technology division is looking for engineers with iOS app development skills. We'd love to hear from those who want to work with us, sharing discoveries about 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 items fail to load in iOS 18 simulators. Since iOS 18 simulator testing was already excluded from my verification scope, this is not a problem for me personally. ↩︎

Share this article