iOSアプリ開発の気になる変更まとめ(2026/09/18)

iOSアプリ開発の気になる変更まとめ(2026/09/18)

iOS 27 / Xcode 27.0の正式リリースに伴い、リリースノートから新たに確認できた変更(launch screen必須化、@Stateマクロ化など)を整理した。iOS 26.7セキュリティアップデート、バージョン表示の障害、iOS 27.2 / Xcode 27.2 betaの注目点、Apple DeveloperドキュメントのMarkdown取得対応にも触れた。
2026.09.18

2026年9月15日(日本時間)、iOS 27 / iPadOS 27とXcode 27.0が正式にリリースされた。同日、iOS 26系向けのセキュリティアップデートであるiOS 26.7 / iPadOS 26.7も公開されている。さらにiOS 27.2 / Xcode 27.2 betaの配信、ソフトウェア・アップデートにおけるバージョン表示の障害、Apple DeveloperドキュメントのMarkdown取得対応など、今週はアップデートが盛りだくさんだった。

前回の記事ではRCのリリースノートをBeta 4から比較するとともに、iPhone Duoの発表に伴う開発者向け変更をまとめた。本記事では正式リリースに伴う各種情報と、リリースノートから新たに確認できた変更のうちアプリ保守で対応を検討したいもの、そしてiOS 27.2 betaの注目点を整理した。実機での動作確認はおこなっておらず、リリースノートおよび公式ドキュメントの記載内容に基づく。

Apple

iOS 27 / iPadOS 27 正式リリース

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

前回の記事ではBeta 4からRCまでの差分を整理した。正式リリースに伴い、これらの変更が確定した。

Xcode 27.0 正式リリース

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

Xcode 27 Release Candidate(27A266a)が、ビルド番号はそのままでXcode 27.0(27A266a)として正式にリリースされた。同一ビルドのためRC時点からの機能的な変更はない。

前回の記事で触れたCoding Intelligence(Google Antigravity、エージェントプラグイン、xcrun mcp-serverプレビュー)やPreviews周りの改善はそのまま正式版に含まれている。同梱のSwift 6.4では、anyAppleOSによるavailable属性の簡略化、非同期コードでのdeferサポート、SpanInlineArrayなど非コピー型へのfor-inループ拡張、FoundationのURL解析の最大4倍高速化、Swift TestingとXCTestの相互運用など、幅広い改善が入った。

App Store Connect のアップデート

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

Xcode 27のiOS 27 SDKでビルドしたアプリをApp StoreおよびTestFlight(内部・外部テスト)にアップロードできるようになった。対応SDKはiOS 27.0、iPadOS 27.0、macOS 27.0、tvOS 27.0、visionOS 27.0、watchOS 27.0だ。

Xcode Cloud で Xcode 27 が利用可能に

前回の記事では「Xcode CloudにXcode 27 RCがまだ展開されていない」と記載していたが、その後利用可能になった(2026年9月13日 2:15時点)。

iOS 26.7 セキュリティアップデート

https://support.apple.com/en-us/149041

iOS 26.7 / iPadOS 26.7が2026年9月15日(日本時間)にリリースされた。リリースノートは公開されておらず、セキュリティノートのみが提供されている。

セキュリティノートにはKernel、ImageIO、WebKit、Bluetooth、AVEVideoEncoder、CoreMedia、CoreMLなど幅広いコンポーネントにわたる修正が含まれている。悪用が確認された旨(actively exploited)の記載はないが、カーネル特権昇格やリモートコード実行に関わる修正が含まれており、iOS 26系に留まる場合は早めの適用を検討したい。筆者は開発用に複数のデバイスを持っており、iOS 26系を維持しておく必要があるため26.7にアップデートしておいた。[1]

ソフトウェア・アップデートのバージョン表示に関する障害

2026年9月15日5時(日本時間)時点で、ソフトウェア・アップデートにおいてiOS 27を選択したにもかかわらずiOS 26.7がインストールされるという声がX(旧Twitter)上で複数見られた。日本だけでなく世界各地のユーザーから同様の指摘が上がっていた。

この時点でAppleからの公式なアナウンスは出ていなかった。[2]

iOS 27.2 / Xcode 27.2 beta リリース

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

https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-27_2-release-notes

iOS 27.2 betaがXcode 27.2 betaとともにリリースされた。iOS 27.1はiPhone Duo向けの専用トラックとなっており、既存のiPhone向けにはiOS 27.0から27.2へ直接アップデートされる形だ。Xcode 27.2のリリースノートにも「iPhone DuoのiOS SDKとシミュレータサポートは今後のXcode 27.1のリリースで提供予定」と記載されている。将来のバージョンで合流するものと推測されるが、2010年に初代iPadが発売された際にもiPhone OS 3.2系がiPad専用トラックとして走り、iOS 4.2.1で統合されたという前例がある。

iOS 27.2では、AppTrackingTransparency(ATT)がEUユーザー向けに拡張プロンプトと年次での再プロンプトをサポートするようになった。フランス、ドイツ、イタリア、ポーランド、ルーマニアのユーザーに対しては代替の拡張プロンプトが必須となる。EU向けにアプリを配信している場合は対応が必要だ。

StoreKit Testing in Xcodeでは、前回の記事でKnown Issuesとして触れたSKTestSessionでstorefrontやlocaleを変更してもStorefront.updatesに伝播しない問題が修正された。

Xcode 27.2ではJSON形式のプロジェクトファイル(.xcproj)が新たにサポートされた。従来の.xcodeproj(plist形式)と比べてマージコンフリクトが起きにくいのが実務的には大きく、コーディングエージェントからの編集も容易になるとされている。File Inspectorから有効化でき、Xcode 27.2より前のXcode 27系でも開ける。

アプリ保守で対応を検討したい変更

scene-basedライフサイクルの必須化、Liquid Glassの必須化、ld64の削除、Apple silicon専用化、TabViewの選択挙動変更、On Demand Resourcesの非推奨化などは、以下の過去記事で詳しくまとめている。

また、前回の記事ではMetricKitの破壊的変更、iPadリサイズ動作の変更、UIScreen.main移行の必須化、PHAssetResource.originalFilenameの非推奨化、volumeAvailableCapacityKeyの精度変更、devicectl JSON version 5の非推奨化、canOpenURL(_:)の非推奨化を扱った。

以下では正式版のリリースノートで新たに確認できた変更を挙げる。

  • iOS 27.0 SDK以降でビルドするアプリは、Info.plistにlaunch screen(UILaunchStoryboardNameUILaunchStoryboardsUILaunchScreenUILaunchScreensのいずれか)の設定が必須となった。設定がないアプリはApp Storeでリジェクトされる
  • SwiftUIの@Stateがマクロによる新しい実装に切り替わった。宣言時に初期値を持つ@Stateに対してイニシャライザ内で値を代入するコードがコンパイルエラーになるほか、すべてのストアドプロパティがprivateな場合に合成されるイニシャライザが無効化されるなど、ソースレベルの非互換がある。デプロイメントターゲットに関係なく、Xcode 27でビルドする全アプリが対象になりうる。なお、再評価を回避する新しい挙動自体はiOS 17以降にバックデプロイされる
  • @AppEntity(schema: .photos.asset)のスキーマを採用している既存のエンティティが、27.0 SDKでコンパイルできなくなる場合がある。スキーマに新しいプロパティが追加されたため、追加プロパティの採用とavailabilityチェックの追加で回避する
  • .textSelection(.enabled)を適用したTextビューにシステムのテキスト選択UIが追加され、追加のジェスチャが導入された。カスタムジェスチャと競合する場合は.highPriorityGesture()の使用を検討する
  • PreviewProviderが非推奨化された。#Previewマクロへの移行が推奨されている

Apple Developer

ドキュメントがMarkdown形式で取得可能に

Apple Developerサイトのドキュメントページで、URLの末尾に.mdを付加することでMarkdown形式のドキュメントを取得できるようになった。公式な告知は見当たらないが、手元では動作した。

たとえば、UITableViewControllerのドキュメントURLに.mdを追加したhttps://developer.apple.com/documentation/uikit/uitableviewcontroller.mdにアクセスすると、同じ内容がMarkdown形式で返される。iOS & iPadOS 27 Release Notesのようなリリースノートも同様だ。

LLMにAppleのドキュメントを参照させる際にHTMLのパースが不要になるため、MCPサーバーやRAGとの連携が容易になる。本記事のリリースノート参照にも、この.md形式を活用した。

まとめ

launch screenの必須化や@Stateのマクロ化など、気づかないままビルドを上げるとリジェクトやコンパイルエラーにつながる変更が今回の厄介なところだ。iOS 27.0 SDKでのビルドに移行する際は、本記事および過去記事で挙げた項目を事前に確認しておきたい。iOS 27.2 betaではATTのEU対応やJSON形式のプロジェクトファイル(.xcproj)など、今後のアップデートで注目すべき変更も出てきた。

筆者は個人開発のアプリを何本か公開しており、引き続きXcode 27.0で実際にビルドし、発生した問題を確認していく予定だ。

求人情報: クラスメソッドでは iOSエンジニアを募集しています

スターバックスデジタルテクノロジー部では、iOSアプリ開発のできるエンジニアを募集しています。misc-ios チャンネルで、新しいXcodeやiOSの機能についてあれこれ共有しながら一緒に働いてくれる方の応募をお待ちしております!

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

その他の領域でもiOS/Androidエンジニアを募集しています。一緒にモバイルアプリ開発についてお話ししましょう!

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

脚注
  1. 余談だが、セキュリティノートの謝辞に「Calif.io in collaboration with Claude and Anthropic Research」がクレジットされているCVEが複数含まれている。AIがセキュリティ脆弱性の発見に活用されている事例として興味深い ↩︎

  2. 本記事公開前に解消されている可能性があるため、最新の状況は各自で確認してほしい ↩︎

この記事をシェアする

関連記事