iOS 27 / Xcode 27 の破壊的変更に備えて今から準備すべきこと

iOS 27 / Xcode 27 の破壊的変更に備えて今から準備すべきこと

2026.03.20

現在、iOS 26対応を進めているが、すでにiOS 27(2026年9月リリース予測)で予告されている破壊的変更が気になっている。特にLiquid Glassデザインの完全義務化UISceneライフサイクルの強制適用は、対応を怠るとアプリが起動すらできなくなるリスクがある。

iOS 26の時点でAppleはこれらの変更を公式に予告しており、猶予期間が設けられている状態だ。しかし、いざiOS 27がリリースされてから慌てて対応するのでは遅いだろう。早めに全体像を把握して、計画的に移行を進めるべきだと考えている。

本記事では、iOS 26で非推奨となったAPIやAppleの公式発言から推測されるiOS 27の破壊的変更について、今から準備すべきことをまとめる。なお、iOS 27は未リリースのため、推測を含む内容が多い点にご留意いただきたい。

予測されるスケジュールの詳細は後述するが、2027年4月にはXcode 27ビルドの義務化が予測されており、準備に使える時間は限られている。

Liquid Glass完全義務化

iOS 26 / Xcode 26では Info.plist に UIDesignRequiresCompatibility = true を設定するとLiquid Glassを無効化できる。

しかし、WWDC25 UI Frameworks Group LabでAppleは「これは一時的な措置であり、次のメジャーリリースで削除される」と明言している。セッション内では次のような説明がなされた。

すべてのUIフレームワークはLiquid Glassを完全にサポートしている。SwiftUI・UIKit・AppKitのいずれを使っていても、アプリはこの新しいデザインの恩恵を受けられる。

Xcode 26でリビルドすると、標準コントロールは自動的に新しいデザインとマテリアルで描画される。新デザインへの採用に時間が必要なチームのために、Xcode 26では従来のデザインを継続するオプションを提供している。ただし、このオプションは次のメジャーリリースで削除する予定である。

このオプションは次のメジャーリリースで削除する予定である

つまり、Xcode 27ではこのフラグが削除され、すべてのアプリにLiquid Glassが強制適用されると推測される。

影響を受ける主なコンポーネント

コンポーネント 主な変更点
UINavigationBar 半透明ガラスマテリアル、バーボタンにガラス背景
UITabBar コンテンツ上に浮遊、スクロール時の自動最小化
UIToolbar アイテムが自動的にガラスクラスタにグループ化、間隔の拡大
UISegmentedControl Liquid Glass選択エフェクト適用
UISearchBar iPhoneではタブバー付近に自動移動

未対応アプリで発生する問題

Liquid Glass未対応のアプリでは、さまざまな問題が報告されている。まずカスタム背景色がガラスエフェクトと干渉し、意図しない見た目になるケースがある。また、UIDropShadowView がシステムによって自動挿入されることで既存レイアウトが崩壊したり、タブバーが浮遊するようになった影響でsafeAreaが変化し、FABやボトムシートの位置がずれるといった問題も起きている。旧デバイスではパフォーマンスの低下も見られる。

さらに、UIDesignRequiresCompatibility = true を設定しても完全に旧スタイルが維持されるわけではなく、UISegmentedControlのタップ位置がズレる問題のような細かい不具合も報告されている。

特にカスタムナビゲーションバーやタブバーの背景色を設定しているアプリは影響が大きいと感じている。iOS 26の時点で一度Xcode 26でリビルドし、自動適用された結果を確認しておくことを強く推奨する。

推奨マイグレーション手順

  1. Xcode 26でリビルドし、自動適用された結果を確認
  2. カスタム背景を削除し、システムのガラスレンダリングを活かす
  3. ナビゲーション・タブなど構造的パーツから着手
  4. if #available で新API(.glassEffect()UIGlassEffect 等)を段階的に採用

標準UIコンポーネントを使っているアプリでは比較的移行は楽だろう。逆にカスタムViewを多用しているアプリでは Liquid Glass 対応は難航するだろう。

関連セッション: Session 219「Meet Liquid Glass」Session 284「Build a UIKit app with the new design」Session 323「Build a SwiftUI app with the new design」

UISceneライフサイクルの完全必須化

Apple Tech Note TN3187は「次のメジャーリリースでは、最新SDKでビルドする際にUISceneライフサイクルが必須となり、採用しなければアプリは起動しない」と明記している。これはiOS 27で実施されると推測されるが、Appleが「次のメジャーリリース」と明言している以上、ほぼ確定と考えてよいだろう。

UISceneライフサイクルへの移行は、特にレガシーなアプリにとっては影響範囲が広い。

AppDelegateに依存した処理が多いアプリ、特にUniversal Links・カスタムURLスキーム・プッシュ通知・ロック画面Widget・ショートカットなど起動トリガーが複数あるアプリは、動作確認の範囲も広くなるため、早めの着手が必要だと感じている。

iOS 26で非推奨となった主なメソッド

非推奨(AppDelegate) 移行先(SceneDelegate)
applicationDidBecomeActive(_:) sceneDidBecomeActive(_:)
applicationWillResignActive(_:) sceneWillResignActive(_:)
applicationDidEnterBackground(_:) sceneDidEnterBackground(_:)
applicationWillEnterForeground(_:) sceneWillEnterForeground(_:)
application(_:open:options:) scene(_:openURLContexts:)

UIWindow.init(frame:) も非推奨となっており、UIWindow(windowScene:) への移行が必要である。なお application(_:didFinishLaunchingWithOptions:) はiOS 26時点では非推奨になっていないが、Sceneライフサイクル採用後は launchOptionsnil になる点に注意が必要だ。

実践的な移行戦略

多くのチームはまず UIApplicationSupportsMultipleScenes = falseシングルウィンドウ前提の移行を行っている。マルチウィンドウ対応は後回しにして、まずはSceneライフサイクルへの移行を完了させるという戦略だ。

実際の移行事例として、以下のTech Blogが参考になる。シングルウィンドウ前提での進め方や、ハマりどころが具体的にまとめられている。

関連記事: Confirmation Items Regarding the Mandatory UIScene Lifecycle Support in iOS 27

その他の注意点

API・フレームワークの変更

  • SceneKit がXcode 26で全プラットフォームにて正式に非推奨となった。移行先はRealityKitで、使用しているアプリは相応の工数がかかるため、早めに移行計画を立てておきたい。
  • UIScreen.main も非推奨となっており、windowScene.screen 経由でのアクセスに切り替える必要がある。
  • SwiftUIの actionSheet はiOS 26で表示が崩壊するため、confirmationDialog への移行が必要だ。詳細は こちらの記事 を参照。

プライバシー・セキュリティ

  • iOS 26ではTLS 1.3がデフォルトとなり、量子安全暗号化が採用された。TLS 1.2以前に依存しているサードパーティSDKやサーバーとの通信に影響が出る可能性があるため、iOS 26互換性は事前に必ず確認しておきたい。
  • DeclaredAgeRangeフレームワーク(iOS 26.0追加)は、テキサス州法やオーストラリアの法律対応として導入されたプライバシー保護型の年齢確認APIだ。対象地域でサービスを提供しているアプリは対応が必要になると推測される。

開発環境・サポートデバイス

  • Xcode 26の動作要件として macOS Sequoia 15.6以降 が必要になる。Xcode 26.4 以降では macOS Tahoe 26.2 以降が必要となる。
  • また、iOS 26でA12デバイス(iPhone XS/XR)のサポートが廃止され、iOS 27ではA13デバイス(iPhone 11シリーズ、SE第2世代)のサポート廃止が予測されている(未確定)。
  • MDMポリシーにおける「ソフトウェア更新の強制遅延」設定も廃止される。

App Store提出要件とデッドライン

最後に、App Storeの提出要件とデッドラインを整理しておく。

デッドライン 要件
2026年4月28日 すべてのApp Store提出にiOS 26 SDK(Xcode 26)でのビルドが義務化
2026年6月(予測) WWDC 2026 — Xcode 27 beta 1公開
2026年9月(予測) Xcode 27 / iOS 27 正式リリース。フラグ削除・UIScene強制化が実施
2027年4月中旬(予測) すべてのApp Store提出にiOS 27 SDK(Xcode 27)でのビルドが義務化

まとめ

iOS 27 / Xcode 27 で予測される破壊的変更について、優先度別に整理する。

最優先(起動不能リスク): UISceneライフサイクルの採用。対応しなければアプリが起動しなくなるため、他の変更より先に着手したい。SceneDelegate作成、Info.plistへの UIApplicationSceneManifest 追加、UIWindow(windowScene:) 移行が主な作業となる。

高優先度(UI崩壊リスク): Liquid Glass対応。カスタムナビゲーション・タブバーの背景色削除と、浮遊タブバーによるsafeArea変更への対応が中心となる。

中優先度: SceneKit→RealityKit移行計画、UIScreen.main の置換、サードパーティSDKのiOS 26互換性確認。

iOS 27の正式リリースはまだ先だが、Appleが明確に予告している変更である以上、早めに動き出す価値がある。特にUISceneライフサイクルの移行は影響範囲が広く、後回しにするほど対応コストが膨らむ。iOS 27対応に向けた計画を立てる際の参考になれば幸いだ。

この記事をシェアする

FacebookHatena blogX

関連記事