Xcode 27リリース:必要環境、デプロイメントターゲット、そして何が壊れたか
Xcode 27は2026年9月14日、ビルド27A266aとしてリリースされました。フィードにiOS 27.0 RCの項目が載ってから3日後のことで、iOS 27.0(24A437)、macOS 27.0(26A428)をはじめとする27系プラットフォームと同時のリリースです。App Store Connectは同日から27.0 GA SDKでビルドしたアプリの受け付けを始めており、RC SDKによるビルドは9月9日から受け付けていました。15 動作にはmacOS Tahoe 26.6以降とApple siliconのMacが必要で、Swift 6.4と27系SDKを搭載し、デバッグできるデバイスはiOS 17以降、そしてデプロイメントターゲットの下限がmacOS 12、watchOS 9、DriverKit 21の3つで引き上げられています。23 既存プロジェクトにとっては、確実にビルドが止まる変更が3つ(@Stateマクロ、SE-0508によるソース互換性の破壊、-ld64リンカフラグ)、エラーになり得る依存関係スキャンのルールが1つ、ARCHS_STANDARDの無警告の変更が1つ、警告が2つ加わりました。そのすべてを、以下で27A266a上で実際に再現しています。246
TL;DR
- 日付とビルド番号。 AppleのReleasesフィードには、Xcode 27(27A266a)と27.0系の6つのOSすべてが9月14日(月)付けで掲載されています。「iOS 27.0 RC (24A437)」の項目は9月11日(金)付けで、App Store ConnectがRC SDKでのアップロード受け付けを始めた2日後にあたり、GA版も同じビルド番号です。15 App Store Connect自身の9月14日付けリリースノートには、Xcode 27でビルドしたアプリをApp StoreとTestFlight向けにアップロードできるようになったと書かれています。5
- 必要環境と下限が動きました。 Xcode 26.6はmacOS 26.2で動き、iOS 15のデバイスをデバッグできました。Xcode 27はmacOS 26.6が必要で、Apple silicon上でしか動作せず、デバッグできるのはiOS 17、tvOS 17、watchOS 10以降で、これは実機だけでなくシミュレータにも当てはまります。最小デプロイメントターゲットはmacOS 11から12へ、watchOS 8から9へ、DriverKit 20から21へ上がり、iOS、iPadOS、tvOSは15のまま、visionOSは1のままです。23
- 確実に失敗する3つの変更。
@Stateマクロ:Apple自身の例、つまり宣言時に初期値を持つ@Stateプロパティを他の格納プロパティより先に代入するイニシャライザが、variable 'self.title' used before being initializedで失敗します。配列または辞書リテラルの初期値とinitアクセサを持つ計算プロパティは、ゲッターが先に書かれているとコンパイルできず、AppleはこれをSE-0508によるソース互換性の破壊だとしています。そしてXcode 15でドキュメント化されていた-ld64リンカフラグは、ld: library 'd64' not foundでリンクに失敗します。2468 - 警告するか、エラーになり得るか、何も言わない4つの変更。 ld64がなくなったため、リンカは
-ld_classicを警告付きで無視します。1回の依存関係スキャン内でClangモジュール名が重複すると「may report an error」(エラーを報告することがある)とされています。27.0に設定したmacOS専用ターゲットは、x86_64を自分で戻さない限りarm64のみでビルドされ、何の警告も出ません。そしてPreviewProviderには「Use #Preview instead.」という27.0の非推奨メッセージが付き、各プレビュー修飾子にはそれぞれ置き換え先のメッセージが付いていますが、デプロイメントターゲットが27.0未満だとコンパイラはどれも表示しません。24 - 9月15日時点でAppleはXcode 27.1をリリースしていません。 Releasesフィードにもリリースノートの索引にも載っておらず、AppleのiPhone Duo開発者ページでは27.1ベータは今も「later this month」(今月後半)とされています。Duo開発者向けの記事で書いたSDKの空白は、まだそのままです。1(9月17日:27.1はまだ出ていませんが、Xcode 27.2ベータが9月16日に出荷され、そのノートはDuo向けSDKを担うリリースとして27.1を名指ししています。詳細は下の更新にあります。9)(9月19日:Xcode 27.1ベータ(27A9269)が9月18日にiOS 27.1 SDK付きで出荷されました。下の2つ目の更新にそのノートがあります。10)(10月1日:27.1は今も最初のベータだけです。11)(10月11日:Xcode 27.1 RC(27A9275)が10月5日に出荷されました。正式版ではなくRCです。同日付けのApp Store Connectの項目にはこうあります。「You can now upload apps built with Xcode 27.1 RC using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.」(Xcode 27.1 RCでiOS 27.1、iPadOS 27.0、macOS 27.0、tvOS 27.0、visionOS 27.0、watchOS 27.0のSDKを使ってビルドしたアプリを、App Store向け、およびTestFlightによる内部・外部テスト向けにアップロードできるようになった)12)(10月14日:Xcode 27.2ベータ3(27B5038j)が出荷されました。Xcode 27.1は今もRCのままで、リリース版も今もXcode 27です。下の4つ目の更新にベータ3のノートがあります。13)(10月15日:Xcode 27.1(27A9275)がリリース版になりました。ビルド番号はRCと同じで、Releasesフィードでの日付は太平洋時間13:00です。ノートのページは改題され、同日付けのApp Store Connectの項目はその名前でストア向けにビルドを受け付けています。Xcode 27はもう最新のリリース版ではありません。14)
更新、9月17日:27.2ベータが先に来て、27.1には役目がある
AppleのReleasesフィードは、27.2ベータの一斉リリースを9月16日(水)付けで掲載しています。Xcode 27.2ベータ(27B5019j)、iOSおよびiPadOS 27.2ベータ(24B5084k)、macOS 27.2ベータ(26B5086k)、tvOS 27.2ベータ(24K5088l)、visionOS 27.2ベータ(24N5088l)、watchOS 27.2ベータ(24S5086l)、それにTestFlightのアップデートで、フィードのどの項目にも27.1の名前はありません。9 Xcode 27.2ベータのノートは、この空白を一文で説明しています。「The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.」(iPhone Duo向けのiOS SDKとシミュレータ対応は、今月後半に公開されるXcode 27.1のリリースで提供予定)つまり27.1がDuo向けSDKを担い、27.2は独自の新機能を持つ別のベータであり、そしてこのベータはGA版と同じ下限を保っています。「Xcode 27.2 beta requires a Mac running macOS Tahoe 26.6 or later.」(Xcode 27.2ベータにはmacOS Tahoe 26.6以降を実行するMacが必要)9
そのベータのノートのうち2つのエントリがこの記事に加わり、下で引用したシミュレータランタイムの既知の問題、141290052は27.2でもまだ未解決のままです。Project Formatの下にはこうあります。「Xcode now supports a JSON-based project format (.xcproj) that’s more readable, merge-friendly, and easier for coding agents to edit,」(Xcodeは、より読みやすく、マージしやすく、コーディングエージェントが編集しやすいJSONベースのプロジェクト形式.xcprojに対応した)これはファイルインスペクタで有効にするもので、あわせて「Projects using .xcproj also open in earlier versions of Xcode 27.」(.xcprojを使うプロジェクトは、Xcode 27の以前のバージョンでも開ける)とあります。SDKの下には既知の問題として、「macOS, watchOS, tvOS, and visionOS SDKs in Xcode 27.2 incorrectly report 27.1 as a valid deployment target,」(Xcode 27.2のmacOS、watchOS、tvOS、visionOSのSDKは、27.1を有効なデプロイメントターゲットとして誤って報告する)とあり、「unexpected behavior if this deployment target is used,」(このデプロイメントターゲットを使うと予期しない挙動になる)、さらに「Mac Catalyst builds with a 27.1 or 27.2 deployment target may be unable to use newly introduced API.」(27.1または27.2のデプロイメントターゲットを持つMac Catalystビルドは、新しく導入されたAPIを使えないことがある)と続きます。9 またAppleは、私が9月16日と9月17日に取得したあいだに、Xcode 27のノート自体のEnhanced Securityにも既知の問題を1つ追加しました。「Apps with Hardware-Checked Pointer Arithmetic Slice feature enabled cannot be uploaded to the App Store on macOS Tahoe 26.6 with Xcode automatic signing enabled.」(Hardware-Checked Pointer Arithmetic Slice機能を有効にしたアプリは、Xcodeの自動署名が有効な状態では、macOS Tahoe 26.6上でApp Storeにアップロードできない)回避策は「Distribute with macOS 27 and Xcode 27 or use manual signing.」(macOS 27とXcode 27で配布するか、手動署名を使う)です。私のarm64e.x1の記事にこれを載せています。9 27.2ベータのノートには、リンカ、モジュール名のルール、@Stateマクロ、下記のプレビューの非推奨に触れるものは何もありません。最初の3つはXcode 27のノートに、@StateのエントリはiOSおよびiPadOS 27のノートにあり、この記事で引用したXcode 27のエントリは、9月17日も9月15日と同じ文面のままです。69
更新、9月19日:Xcode 27.1ベータが登場、iOS 27.1 SDKを同梱
AppleのReleasesフィードは、Xcode 27.1ベータ(27A9269)を9月18日(金)付けで掲載しています。27.2ベータの一斉リリースから2日後で、Xcodeのリリースノート索引には27系の項目が3つ、Xcode 27、Xcode 27.1 Beta、Xcode 27.2 Betaと並ぶようになりました。10 27.1ベータのノートは短いものです。Overviewはこうです。「Xcode 27.1 beta includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27,」(Xcode 27.1ベータにはSwift 6.4と、iOS 27.1、iPadOS 27、tvOS 27、watchOS 27、macOS 27、visionOS 27のSDKが含まれる)。実機デバッグの下限は27.0と同じで、要件も同じく「a Mac running macOS Tahoe 26.6 or later.」(macOS Tahoe 26.6以降を実行するMac)です。このSDKの一覧は書かれたとおりに読んでください。ただし一点、OverviewではiPadOSが27なのに対し、後述のApp Store Connectの記述とAppleのAPIページはiPadOS 27.1ベータとしており、私はどちらも引用するにとどめ、解決はしません。iOS 27.1は、Appleの9月16日のニュース記事がiPhone Duoの10月23日の出荷時に「will run」(搭載して動作する)と述べているリリースです。10 App Store Connectのリリースノートには、9月18日付けでTestFlightの項に対応する一文があります。「You can now submit apps built with Xcode 27.1 beta using the SDK for iOS 27.1 beta or iPadOS 27.1 beta for internal and external testing.」(Xcode 27.1ベータでiOS 27.1ベータまたはiPadOS 27.1ベータのSDKを使ってビルドしたアプリを、内部および外部テスト向けに提出できるようになった)10 さらにAppleは、私の9月17日と9月19日の取得の間に27.2ベータノートのOverviewを書き換えました。上の更新で引用した一文「The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1,」は消え、代わりに「Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo,」(iPhone Duo向けのiOS SDKとシミュレータ対応を得るにはXcode 27.1ベータをダウンロードしてください)という補足がダウンロードページへのリンク付きで置かれています。10 AppleのドキュメントはiPhone Duo向けAPIのうち5つをiOS 27.1、ベータ扱いで掲載するようになりました。名前はDuo開発者向けの記事にあります。
27.1ベータのノートには3つのセクションがあり、うち2つがKnown Issues(既知の問題)を抱えています。Mac Catalystの項:「Projects that use APIs specific to iOS 27.1 show compile errors when building for Mac Catalyst (“undeclared identifier”, “not found”, “has no member”, “cannot find”, etc).」(iOS 27.1固有のAPIを使うプロジェクトは、Mac Catalyst向けにビルドするとコンパイルエラーになる)(185924957)。回避策は「Use build-time conditionals like #if !targetEnvironment(macCatalyst) (Swift) or #if !TARGET_OS_MACCATALYST (ObjC) to isolate affected code,」(ビルド時条件で該当コードを分離する)です。そして「Projects that target iOS 27.1 show no Mac Catalyst run destination available.」(iOS 27.1をターゲットにするプロジェクトではMac Catalystの実行先が表示されない)(187046347)。回避策は「Add a Mac Catalyst 27.0 minimum deployment in target settings.」(ターゲット設定でMac Catalyst 27.0の最小デプロイメントを追加する)です。これらは、9月17日の更新で引用した27.2ベータのSDKのKnown Issue、187160501と並ぶもので、私の読みでは同じ27.1の空白をmacOS SDK側から見たものです。Simulatorの項にはKnown Issuesが3つ:「Initial Simulator launch can take several minutes.」(初回のシミュレータ起動に数分かかることがある)(187708500)、「StandBy is unavailable in the iPhone Duo Simulator runtime.」(iPhone Duoシミュレータランタイムではスタンバイが使えない)(187708663)、「Running and debugging most app extensions is unavailable in the iPhone Duo Simulator runtime.」(iPhone Duoシミュレータランタイムでは大半のApp Extensionの実行とデバッグができない)(187708767)。3つ目のセクションPreviewsにはNew Featureが1つ:「The canvas overrides picker now includes a Display group for previewing content on a device’s alternative display.」(キャンバスのオーバーライドピッカーに、デバイスのもう一方のディスプレイでコンテンツをプレビューするDisplayグループが加わった)(182598534)。10 27.1ベータのノートには、リンカ、モジュール名のルール、@Stateマクロ、下記のプレビュー非推奨化に触れる記述はなく、9月19日に再取得したXcode 27のノートは9月17日と同じ内容でした。10
この記事に加えておくべき日付がもう1つ、App Store提出に関するAppleの9月9日のニュース記事にあります。「Starting April 2027, apps and games uploaded to App Store Connect need to meet the following minimum requirements: iOS and iPadOS apps must be built with the iOS 27 & iPadOS 27 SDK or later,」(2027年4月以降、App Store Connectにアップロードするアプリとゲームは次の最小要件を満たす必要がある。iOSおよびiPadOSアプリはiOS 27およびiPadOS 27 SDK以降でビルドすること)。tvOS、visionOS、watchOSのアプリも同様に27のSDKが求められます。AppleのUpcoming Requirementsページには9月19日時点でまだ掲載がなく、最新の項目は依然として2026年4月28日のXcode 26と26系SDKの下限です。つまり、この記事が扱う27系SDKは、2027年4月にアップロードの下限になります。10
更新、10月1日:Xcode 27.2ベータ2が登場、Xcode 27.0.1はなし
AppleのReleasesフィードは、Xcode 27.2ベータ2(27B5028f)を9月28日(月)付けで掲載しています。iOS、iPadOS、macOS、visionOS、watchOSの27.0.1アップデートと同じ日です。フィードにXcode 27.0.1はありません。リリース版はまだXcode 27(27A266a)で、そのノートのページの本文は、私が9月26日に保存したコピーと同一です。11 ベータ2のノートはGetCodeCoverage MCPツールを加え、最初のベータにあったDevice Hubの入力の問題を修正済みとしています。iPhone Duoの作業は今もXcode 27.1ベータへ案内する一方で、iPhone Duoの既知の問題を独自に2件載せ、9月19日の更新で引用した27.1ベータの2つのエントリ、185924957と182598534を繰り返しています。エントリごとの読み解きは27.2の記事にあります。下で引用しているシミュレータランタイムの問題、141290052は、27.2ベータ2では修正済みとして載っていますが、Xcode 27では今もKnown Issueのままです。11
更新、10月14日:Xcode 27.2ベータ3が登場、Duoの補足は消えた
AppleのReleasesフィードは、Xcode 27.2ベータ3(27B5038j)を10月14日(水)付けで掲載しています。iOS、iPadOS、macOS、visionOS、watchOSの4つ目の27.2ベータが出た翌日です(tvOSにはありませんでした)。リリース版はまだXcode 27(27A266a)で、Xcode 27.1もまだ10月5日のRCのままでした(10月15日:Xcode 27.1はその日の午後、RCと同じビルド27A9275でリリース版として出荷されました。下の5つ目の更新にあります)。Xcode 27のノートのページの本文は、私が10月11日に保存したコピーから変わっていません。13 ベータ3のノートからは、iPhone Duoの作業をXcode 27.1ベータへ案内していた補足が消え、代わりの記述もありません。つまり、Duo向けSDKが27.2に移ったとはどこにも書かれておらず、私の読みでは、Duo向けのビルドは引き続き27.1 RCです。ほかに、toolchainコンパイルモードに関するInterface Builderの修正が2件加わり、シミュレータの複製の問題はSimulator Runtimesという見出しの下に移って、回避策としてfindコマンドが示されています。さらに、ランタイムの再インストールの問題、187950199は、ベータ2で解決済みのものとして載せ直されています。エントリごとの読み解きは27.2の記事にあります。下で引用しているシミュレータランタイムの問題、141290052は、これとは別のエントリで、今も27.2ベータ2で修正済みとして載っており、Xcode 27のページでは今もKnown Issueのままです。同じ日付のApp Store ConnectのTestFlightの項目は、27.2ベータ3のビルドをテスト向けには受け付けていますが、ストア向けには受け付けていません。13
更新、10月15日:Xcode 27.1がリリース版に、ビルドはRCと同じ
AppleのReleasesフィードは、Xcode 27.1(27A9275)を10月15日(木)の太平洋時間13:00付けで掲載しています。10月23日にiPhone Duoが出荷される8日前で、ビルド番号は10月5日のRCのものです。101214 ノートのページは「Xcode 27.1 Release Notes」に改題され、Overviewは「Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.」(Xcode 27.1にはSwift 6.4と、iOS 27.1、iPadOS 27、tvOS 27、watchOS 27、macOS 27、visionOS 27のSDKが含まれる)となりました。RCの文から「RC」を取り除いたもので、iPhone Duo Simulatorの2つの既知の問題はそのまま残っています。同じ日付のApp Store Connectの項目にはこうあります。「You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.」(Xcode 27.1でiOS 27.1、iPadOS 27.0、macOS 27.0、tvOS 27.0、visionOS 27.0、watchOS 27.0のSDKを使ってビルドしたアプリを、App Store向け、およびTestFlightによる内部・外部テスト向けにアップロードできるようになった)さらに「Submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.」(iPhone Duoに最適化したアプリやゲームを、今日からApp Store Connectで提出できる。2027年4月以降、提出するアプリやゲームにはiPhone Duoのスクリーンショットが必要になる)と続きます。Xcode 27(27A266a)は9月14日のリリースとしてフィードに残っており、Xcode 27のノートのページは10月11日のコピーから変わっていません。27.2の記事とDuo準備の記事にも同じ注記があります。14
更新、10月26日:27.2の各システムが出荷され、Xcode 27.2は今もRC
AppleのReleasesフィードは、iOS 27.2(24B119。同じ分に2つ目のiOS 27.2ビルド、24B91020もあります)、iPadOS 27.2(24B119)、macOS 27.2(26B123)、tvOS 27.2(24K122)、visionOS 27.2(24N120)、watchOS 27.2(24S118)を、10月26日(月)の太平洋時間10:00付けで掲載しています。フィードで最新のXcodeの項目は今もリリース候補のXcode 27.2 RC(27B48)で、10月19日の太平洋時間10:00付けです。そのノートのページも題は今も「Xcode 27.2 RC Release Notes」のままで、Overviewはこうです。「Xcode 27.2 RC includes Swift 6.4 and SDKs for iOS 27.2, iPadOS 27.2, tvOS 27.2, watchOS 27.2, macOS 27.2, and visionOS 27.2. Xcode 27.2 RC supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27.2 RC requires a Mac running macOS Tahoe 26.6 or later.」(Swift 6.4と各27.2 SDKを含み、オンデバイスデバッグはiOS 17以降、tvOS 17以降、watchOS 10以降、visionOSに対応し、macOS Tahoe 26.6以降のMacが必要)App Store Connectの10月20日のエントリは、そのビルドを受け付けています。「You can now upload apps built with Xcode 27.2 RC using the SDK for iOS 27.2 RC, iPadOS 27.2 RC, macOS 27.2 RC, tvOS 27.2 RC, visionOS 27.2 RC, and watchOS 27.2 RC for the App Store, and for internal and external testing through TestFlight.」(Xcode 27.2 RCで各27.2 RCのSDKを使ってビルドしたアプリを、App Store向け、およびTestFlightによる内部・外部テスト向けにアップロードできるようになった)9月にはXcode 27が27.0の各システムと同じ日に出ましたが、今回はシステムがXcodeなしで出荷されました。RCのページは、ベータ3のページに次のものを加えています。Device Hubの新機能の一覧(スローモーションのアニメーション、シミュレータでのシェイク、落下、メモリプレッシャーの模擬、スクリーンショットのコンテキストメニュー、スクリーンショットのアイコンのドラッグ&ドロップの改善、ベゼルの非表示、App Settingsグループ、189236369)。visionOSランタイムがないときのVision Proのクラッシュ、メモリ警告のメニュー項目、そして以前のmacOS 27.2ベータでDevice Hubが終了してしまう問題の修正(190126101)。Device Hubが「is unable to customize the text size for a device running iOS 18 or earlier」(iOS 18以前を実行するデバイスの文字サイズをカスタマイズできない)というKnown Issue(189261485)。CameraCaptureAccessoryが両方のディスプレイを使う問題についての、iPhone Duoシミュレータの修正(190155353)。iPhone Duoシミュレータの新しいKnown Issue「When switching between the inner and outer display of the iPhone Duo simulator, modifier keys such as Shift and Command might stop working.」(iPhone Duoシミュレータで内側と外側のディスプレイを切り替えると、ShiftやCommandなどの修飾キーが効かなくなることがある)(189465196)。そしてInstruments、Memory Gauge、XCTest UI Automationの修正が1件ずつです。macOS、watchOS、tvOS、visionOSのSDKが「incorrectly report 27.1 as a valid deployment target」(27.1を有効なデプロイメントターゲットとして誤って報告する)というSDKのKnown Issueは変わっておらず、「APIs specific to iOS 27.1」(iOS 27.1に固有のAPI)についてのMac Catalystのエントリも同じです。2つのXcodeの項目の間に、iPhone Duoが出荷されました。AppleのNewsroomは店頭デビューを10月23日(金)としており、Appleのセキュリティリリースのページは、iOS 27.1を「iPhone Duo」だけ向けに、10月23日付けで、公開されたCVEエントリなしとして載せています。iOS 27.1の項目がフィードに届いたことはなく、リリースノートの索引には27と27.2しかありません。つまり、Xcode 27.1が同梱する27.1 SDK(このMacではビルド24A94232)は、1機種だけで出荷されたiOSリリースのためのSDKです。10月22日付けのTestFlight 4.4.1は「Support for iPhone Duo」(iPhone Duoへの対応)を加えています。27.2のノートはiOS 27.2のリリースノートの記事で読み、ベータの記録は27.2ベータの記事に残しています。15
9月14日に何がリリースされたのか?
| 項目 | ビルド | フィードの日付 |
|---|---|---|
| Xcode 27 | 27A266a | 2026年9月14日(月) |
| iOS 27.0 / iPadOS 27.0 | 24A437 | 9月14日(月)。フィードの「iOS 27.0 RC (24A437)」項目は9月11日(金)付けで、App Store ConnectはRC SDKでのアップロードを9月9日(水)から受け付けていました |
| macOS 27.0 | 26A428 | 9月14日(月) |
| tvOS 27.0 | 24J361 | 9月14日(月) |
| visionOS 27.0 | 24M362 | 9月14日(月) |
| watchOS 27.0 | 24R364 | 9月14日(月) |
| App Store Connect | 「You can now upload apps built with Xcode 27 using the SDK for iOS 27.0, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.」(27.0系SDKを使ってXcode 27でビルドしたアプリを、App Store向けにも、TestFlightでの内部・外部テスト向けにもアップロードできるようになった) | 9月14日 |
リリースノートのOverviewにはこうあります。「Xcode 27 includes Swift 6.4 and SDKs for iOS 27, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27. Xcode 27 supports on-device debugging in iOS 17 and later, tvOS 17 and later, watchOS 10 and later, and visionOS. Xcode 27 requires a Mac running macOS Tahoe 26.6 or later.」(Xcode 27はSwift 6.4と各27系SDKを含み、iOS 17以降、tvOS 17以降、watchOS 10以降、visionOSでの実機デバッグに対応し、macOS Tahoe 26.6以降のMacを必要とする)2 手元のMacでは、xcodebuild -versionはXcode 27.0 Build version 27A266aを、swift --versionはApple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)を出力します。4
Xcode 27のリリースノートには何が書かれているのか?
ノートはAppleの開発者向けドキュメントサイトのXcode Release Notesの下にある1ページで、分量はかなりのものです。見出しのある領域が41、リスト項目が296あり、数え上げると新機能134、解決済みの問題134、既知の問題19、非推奨9という内訳になります。項目が最も多いのはInstrumentsの60で、Device Hubの36、Coding Intelligenceの29、Previewsの27、Previews & Playgroundsの18、Testingの16、Localizationの15と続きます。9つの非推奨が置かれているのは、C++ Standard Library、Device Hub、devicectl、Instruments、Intel Deprecation、Linking、On Demand Resources、Previews、USDKitの各見出しです。このうちビルドを変えるのはLinkingとIntelの項目で、以下のセクションで引用しています。これらの数は、9月26日に各見出しの下のリスト項目を私が数えたものです。2
26.6と比べてXcode 27には何が必要なのか?
ビルドマシンをアップグレードする前に確認すべき文書は、Appleの互換性一覧表です。2つの行を並べると次のようになります。3
| Xcode 26.6 | Xcode 27 | |
|---|---|---|
| 動作に必要なmacOS | Tahoe 26.2から26.x | Tahoe 26.6以降、Apple siliconのみ2 |
| SDK | iOS、tvOS、watchOS、visionOS、macOS 26.5、DriverKit 25.5 | iOS、tvOS、watchOS、visionOS、macOS 27、DriverKit 27 |
| デプロイメントターゲット | iOS 15、tvOS 15、watchOS 8、visionOS 1、macOS 11、DriverKit 20 | iOS 15、tvOS 15、watchOS 9、visionOS 1、macOS 12、DriverKit 21 |
| デバッグできるデバイス | iOS 15、tvOS 15、watchOS 8、visionOS 1以降 | iOS 17、tvOS 17、watchOS 10、visionOS 1以降 |
| シミュレータ | iOS 15、tvOS 15、watchOS 8、visionOS 1以降 | iOS 17、tvOS 17、watchOS 10、visionOS 1以降 |
| Swiftコンパイラ | 6.3 | 6.4(言語モード6、5、4.2、4) |
この表の裏には2つの帰結が隠れています。InstrumentsはiOS 17、watchOS 10、tvOS 17より古いデバイスを受け付けなくなったので、古いiPhoneで組んだプロファイリング環境は、アプリのコードに手を付ける前に動かなくなります。2 またAppleは、Device Hubのキーボードとポインタ操作の対応範囲を一文で区切っています。「only supported on the following OS versions and newer: macOS 15.0, iOS 18.0, tvOS 18.0, watchOS 11.0, visionOS 2.0.」(macOS 15.0、iOS 18.0、tvOS 18.0、watchOS 11.0、visionOS 2.0以降でのみ対応)2
Apple silicon必須という条件については、Xcodeを動かすMac側に回避策はなく、7月にIntelの記事を読んだ方にはすでに古い話でしょう。GA版のノートも7月の文言をそのまま残しています。「Xcode 27 will only install and run on Apple silicon Macs. The macOS 27 SDK supports back deploying Universal (Intel and Apple Silicon) apps to macOS 12 and later. Intel development is still possible with macOS versions that support Rosetta like macOS 27.」(Xcode 27はApple silicon Macにしかインストールも実行もできない。macOS 27 SDKはUniversalアプリのmacOS 12以降への後方デプロイに対応する。macOS 27のようにRosettaをサポートするmacOSであれば、Intel向けの開発は引き続き可能)2 3つ目の文が示す回避策は出荷先のMacのためのものであって、ビルドに使うMacのためのものではありません。
ツールチェーンでは何が変わったのか?
リンカ。 GA版のノートは一文で片付けています。”The ld64 linker has been removed and the -ld_classic option is no longer supported.”(ld64リンカは削除され、-ld_classicオプションはサポートされなくなった)2 27A266a上で実際に見るとこうなります。ツールチェーンのusr/binにあるリンカのバイナリはldの1つだけで、自身をld-27037.1、2026年8月25日ビルドと報告します。古いフラグを渡してもリンクは失敗しません。hello.cにint main(void){return 0;}の1行だけを書いてclang hello.o -o hello_classic -Xlinker -ld_classicを実行すると、ld: warning: -ld_classic is no longer supported and will be ignoredと出力しつつ、終了コード0で実行ファイルを書き出します。Xcode 15でAppleがドキュメント化していたもう1つの綴り、-ld64のほうは結果が悪く8、clang hello.c -o hello_ld64 -Wl,-ld64はld: library 'd64' not foundで失敗して終了コード1を返します。新しいリンカが-ld64を-l d64、つまりd64という名前のライブラリの要求として読むためです。4 つまりOTHER_LDFLAGSに-ld_classicを残しているプロジェクトはビルドこそ続きますが、リンクのたびに新しい警告が出て、旧リンカから得ていた挙動はすべて消えています。-ld64を残しているプロジェクトはリンクが止まり、しかもそのエラーはリンカの名前をまったく出しません。ld64の記事では、これらのフラグの出どころを調べ、両方の実行結果を記録しています。
デフォルトのアーキテクチャ。 Intel Deprecationのセクションがルールを述べています。”Build targets with a min deployment target set to macOS 27.0 or DriverKit 27.0 will not build Universal by default. The ARCHS_STANDARD build setting will no longer include x86_64 when MACOSX_DEPLOYMENT_TARGET or DRIVERKIT_DEPLOYMENT_TARGET >= 27.0.”(最小デプロイメントターゲットをmacOS 27.0またはDriverKit 27.0にしたターゲットは、デフォルトではUniversalでビルドされない。MACOSX_DEPLOYMENT_TARGETまたはDRIVERKIT_DEPLOYMENT_TARGETが27.0以上のとき、ARCHS_STANDARDにx86_64は含まれなくなる)2 これをマルチプラットフォームのプロジェクト(Yawara、SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx xros xrsimulator)で、xcodebuild -showBuildSettings -sdk macosxを使って再現しました。-sdk引数なしだとこのプロジェクトはARCHS_STANDARDをまったく解決しないという癖があり、これはIntelの記事で扱っています。MACOSX_DEPLOYMENT_TARGET = 26.0ではARCHS_STANDARD = arm64 x86_64に、27.0ではARCHS_STANDARD = arm64に解決され、ARCHS_STANDARD_64_BITはどちらでもarm64 x86_64のままです。4 警告は一切出ません。Universalで出荷していてターゲットを上げるなら、ARCHSにx86_64を自分で足してください。
C++標準ライブラリ。 「The minimum supported deployment target on macOS for the C++ standard library has been increased to 11.0,」(C++標準ライブラリがmacOSでサポートする最小デプロイメントターゲットは11.0に引き上げられた)とあり、ノートは「Potentially breaking changes」の見出しの下に挙動の変更を列挙しています。その先頭は、multi{map,set}::findが必ずしも最初に一致した要素を返さなくなったという項目です。2 新機能のリストは長く、std::chrono値のハッシュ化、zip、std::optional<T&>、std::views::indices(n)などが並びます。2
依存関係スキャンと、それを失敗させ得るルール。 AppleはSwiftの依存関係スキャナを「to avoid redundant setup work and header searches when looking up Clang modules during a single dependency-scan action」(1回の依存関係スキャン操作でClangモジュールを探す際、冗長なセットアップ作業とヘッダー検索を避けるため)に最適化したと述べており、この高速化には要件が伴います。「every Clang module reachable from a single Swift dependency-scan action must have a unique module name. If two module maps visible to the same scan declare a Clang module with the same name, the scan may report an error. Previously, the scanner may have tolerated duplicating names.」(1回のSwift依存関係スキャン操作から到達できるClangモジュールはすべて一意のモジュール名を持たなければならない。同じスキャンから見える2つのモジュールマップが同名のClangモジュールを宣言していると、スキャンはエラーを報告することがある。以前のスキャナは名前の重複を許容していた可能性がある)2 Appleは引っかかる形を2つ挙げています。「projects or SDKs that vend the same Clang module name from more than one location on the header search path, and vendored third-party sources that ship a module.modulemap redeclaring an SDK module.」(ヘッダー検索パス上の複数の場所から同じClangモジュール名を提供するプロジェクトやSDK、そしてSDKのモジュールを再宣言するmodule.modulemapを同梱したサードパーティのソース)2 リンカの削除と同じく、このルールはデプロイメントターゲットではなくツールチェーンのアップグレードで発火します。ld64の記事では、衝突する2つのモジュールマップをスキャナに通し、SDKのモジュールを隠してしまう同梱のSQLite3シムをコンパイルし、7つのプロジェクトを両方の形について監査しています。27A266a上では、1つ目の形は、Appleの「may」という表現が見越しているまさにそのエラーを報告します。module Widgetを宣言する2つのモジュールマップを1つの検索パスに置くと、swiftc -scan-dependenciesは20回中20回error: redefinition of module 'Widget'を出力しながら、20回中20回終了コード0で終わり、モジュールを最初の-Iディレクトリに解決します。Xcode 26.6は7月、同じ入力に対する20回の実行のうち14回でクラッシュまたはabortしていました。それでもコンパイルは止まります。-typecheckが同じエラーで20回中20回失敗するからです。2つ目の形、つまりSDKのSQLite3を再宣言する同梱のモジュールマップは、stderrに何も出さずにスキャンを通過し、SDKのモジュールを黙って隠してしまいます。4 ld64の記事には、26.6とGA版それぞれでの両方の実行結果が載っています。
何がコンパイルできなくなるのか?
@Stateマクロ。 この変更はXcodeではなくiOS 27のリリースノートに載っており、効いてくるのはデプロイ先のターゲットではなく、ビルドに使うコンパイラです。”Xcode 27 introduces a new @State implementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new @State is implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.”(Xcode 27は、この繰り返し評価を避ける新しい@State実装を導入する。この新しい挙動はiOS 17世代のOSまで後方デプロイされる。新しい@StateはSwiftマクロで実装されており、いくつかの例外を除いてプロパティラッパー版とおおむねソース互換である)6 Appleは例外を4つ挙げ、そのうち2つにはコードリストを付け、残り2つには一文か二文だけを添えています。”In rare situations, the automatic inference of generic arguments of @State is less flexible with the macro implementation. Write the type with more specificity.”(まれに、@Stateのジェネリック引数の自動推論がマクロ実装では柔軟さに欠ける。型をより具体的に書くこと)と、”Composing @State with other property wrappers or macros is not supported.”(@Stateを他のプロパティラッパーやマクロと組み合わせることはサポートされない)です。6 既存コードを捕まえるのは、コードリスト付きの2つのほうです。1つ目は、宣言時にすでに初期値を持つ@Stateプロパティに代入するイニシャライザで、SwiftUIはこの代入を常に捨ててきましたが、今では「some such cases no longer compile.」(そうしたケースの一部はコンパイルできなくなる)とされています。6 2つ目は、すべての格納メンバーがprivateのときにコンパイラが合成するprivateなメンバーワイズイニシャライザで、「The state macro disables this synthesized initializer. So the code above no longer compiles.」(stateマクロはこの合成イニシャライザを無効にする。よって上のコードはコンパイルできなくなる)とあります。6 27A266aでは1つ目の例が書かれたとおりに失敗し、pageを代入する行でerror: variable 'self.title' used before being initializedが出ます。titleが存在する前に、マクロのセッターがselfに対して走るためです。self.title = titleをその上に移すと同じファイルがコンパイルでき、@Stateへの代入は従来どおり捨てられます。46 2つ目の例、つまり宣言時の初期値を持たない@Stateのある構造体に対して拡張からself.init(page: page, title: title)を呼ぶものは、私の実行では変更なしでコンパイルできました。マクロ展開を見ると、それを可能にしている形が分かります。マクロは@storageRestrictions(initializes: _page)のinitアクセサの裏にprivate var _page: SwiftUICore.State<StickerPage>を生成しており、これがメンバーワイズイニシャライザにpage:を受け取らせる構文です。4 このノートは確認すべき形の説明として読み、それぞれを自分のコードで確かめてください。@Stateマクロの記事では、出荷中の4つのアプリで両方のパターンを数えています。あの記事は今回のGAテストより前、7月にベータ版のノートをもとに書いたもので、そこで開いたままだった疑問もここで閉じます。イニシャライザ内でバッキングストレージに直接代入する_page = State(initialValue:)は、宣言時の初期値があってもなくても27A266aでコンパイルできます。4
SE-0508による破壊。 Swift CompilerのKnown Issuesにこうあります。”A computed property with both an init accessor and an array/dictionary literal initial value will no longer compile if the getter is declared before the init accessor.”(initアクセサと配列または辞書リテラルの初期値を両方持つ計算プロパティは、ゲッターがinitアクセサより先に宣言されているとコンパイルできなくなる)コードリストが続き、その後に出典が示されます。”This is a known source break from SE-0508.”(これはSE-0508による既知のソース互換性の破壊である)回避策は全文でこうです。”Swap the init accessor and the getter such that the init accessor is declared first.”(initアクセサが先に宣言されるよう、initアクセサとゲッターを入れ替える)2 SE-0508は”Array expression trailing closures”(配列式の末尾クロージャ)で、Swift 6.4で実装されており、提案書はまさにこのケースを予告しています。”If the getter is declared before the init accessor, we will now attempt to parse as a trailing closure,”(ゲッターがinitアクセサより先に宣言されていると、今後は末尾クロージャとして解析を試みる)に加えて、”init accessors are however considered for disambiguation, so swapping the accessors is sufficient to make this valid regardless of initial value used,”(ただしinitアクセサは曖昧さ解消の対象になるため、アクセサを入れ替えれば初期値が何であれ有効になる)、そしてこのケースは「does not appear in the source compatibility suite, or for internal Swift projects at Apple.」(ソース互換性スイートにもApple社内のSwiftプロジェクトにも現れない)と書かれています。7 9行の構造体で再現できます。ゲッターを先にすると、swiftcはアクセサの行でerror: initializers may only be declared within a typeを出して失敗し、@storageRestrictions(initializes:)のinitアクセサをgetの上に移すと同じファイルがコンパイルできます。4
struct Container {
private var storage: [Int] = []
var items: [Int] = [] {
@storageRestrictions(initializes: storage)
init(initialValue) { storage = initialValue } // getより前に置く必要がある
get { storage }
set { storage = newValue }
}
}
PreviewProvider。 Previewsのセクションには非推奨が1つ挙がっています。”PreviewProvider and its family of preview modifiers.”(PreviewProviderとそのプレビュー修飾子ファミリー)2 SDKにもそれが反映されており、プロトコルには1つのメッセージ、各修飾子にはそれぞれ別のメッセージが付いています。iOS 27 SDKのSwiftUIインターフェースでは、public protocol PreviewProviderは@available(anyAppleOS, deprecated: 27.0, message: "Use #Preview instead.")の下にあり、previewLayoutは「Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.」、previewDisplayNameは「Use #Preview(“name”) instead.」、previewInterfaceOrientationは「Use #Preview(traits: .landscapeLeft) or other orientation traits instead.」、previewDeviceは「Use the device picker in Xcode’s canvas.」(Xcodeのキャンバスにあるデバイスピッカーを使うこと)、そしてpreviewContextはPreviewContextおよびPreviewContextKeyプロトコルとともに「Use #Preview with a Widget timeline provider or entries instead.」(代わりにWidgetのタイムラインプロバイダまたはエントリを指定した#Previewを使うこと)と言っています。4 これらのメッセージを目にするかどうかは、2つの事実で決まります。コンパイラは非推奨のバージョンをデプロイメントターゲットと比較するので、修飾子が警告を出すのは最小バージョンが27.0のターゲットだけです。previewLayout、previewDisplayName、previewDeviceを使うファイルは、-target arm64-apple-ios27.0-simulatorでは3つの警告を出し、17.0と26.0では何も出しませんでした。そしてPreviewProvider自体は、別の理由でまったく警告しません。SDKはこれをanyAppleOSの非推奨指定の直上に@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)を付けて宣言しており、私の検証では、この組み合わせを持つプロトコルは27.0ターゲットでも、準拠に対しても引数の型としての使用に対しても警告を出しませんでした。一方、同じプロトコルを@available(iOS, deprecated: 27.0)だけ、あるいはanyAppleOSの形だけで非推奨にすると、どちらでも警告が出ました。修飾子は自身の宣言にanyAppleOSの非推奨指定しか持たず(それらを収めるextension SwiftUICore.View側にintroduced属性があり、その継承された形は警告を抑制しません)、だから修飾子は警告し、プロトコルは警告しないのです。4 出荷中のどのデプロイメントターゲットでもビルドログはどちらにせよ沈黙するので、PreviewProviderと修飾子を検索して#Previewに移行してください。キャンバスは新しい#Preview(arguments:)構文により、引数ごとにグリッド表示するようになりました。24
Systemの新しいstat()。 SystemライブラリはSwift APIとしてstat、lstat、fstat、fstatatを提供するようになり、Stat型とFilePath.stat()インスタンスメソッドが加わりました。2 ノートには、修飾なしのstat()を呼ぶ拡張が新しいメソッドと衝突する問題が修正済みとして載っています。その衝突が生きていた間にDarwin.の修飾を足していたなら、そのままで構いません。2
Address Sanitizerは逆方向です。 「Address Sanitizer might fail to launch on iOS 27.0, tvOS 27.0, watchOS 27.0, and visionOS 27.0 when building with Xcode 26.4 or older.」(Xcode 26.4以前でビルドすると、iOS 27.0、tvOS 27.0、watchOS 27.0、visionOS 27.0でAddress Sanitizerが起動に失敗することがある)回避策はXcode 26.5以降で、CIマシンに古いXcodeを残したままデバイスだけ27.0に更新しているチームには関係のある話です。2
IDEとツールでは何が変わったのか?
- Interface Builderがシミュレータなしでビルドします。 新しいコンパイルモード
toolchainは、”for UIKit (Cocoa Touch) based documents. Enabled by default,toolchainallows compiling IB documents without the need to download a simulator, which is especially useful for build servers.”(UIKit(Cocoa Touch)ベースのドキュメント向け。デフォルトで有効なtoolchainは、シミュレータをダウンロードせずにIBドキュメントをコンパイルでき、ビルドサーバーで特に有用)とされています。2 - シミュレータの起動が速くなり、再起動もできます。 「The simulator runtimes now contain a pre-built dyld cache. This will make first launch of a simulator much faster,」(シミュレータのランタイムにビルド済みのdyldキャッシュが含まれるようになり、シミュレータの初回起動が大幅に速くなる)とあり、
simctlにはrebootコマンドが加わりました。2 既知の問題が1つ残っており、Appleの言葉ではこうです。「Some simulator runtimes are not completely deleted when removed, re-appearing after a reboot.」(一部のシミュレータランタイムは削除しても完全には消えず、再起動後に再び現れる)2 - devicectlのJSONはバージョン5です。
xcrun devicectl --versionは642.16を報告し、list devices --json-outputは"jsonVersion": 5を書き出します。AppleはhardwareProperties、deviceProperties、connectionPropertiesフィールドを非推奨にしてproperties辞書に置き換え、これらをまだ含む結果には_deprecationNoticeが付きます。24 - StoreKitテスト。 StoreKit構成のUIでオファーコードを定義でき、ローカルテスト用にサブスクリプションバンドルを構成でき、Transaction Managerでデバイスなしにオファーコード付きの購入を試せます。2
- Organizer。 Insights Overviewが「summarizes high-impact performance regressions」(影響の大きいパフォーマンス低下を要約する)とされ、HitchesメトリクスがScrollingメトリクスに置き換わりました。2
- コーディングアシスタント。 モデル一覧にGoogle Geminiが加わり、「Planning with agents is now first class in Xcode,」(エージェントによるプランニングがXcodeの一級機能になった)とあって、プランはエージェントが先に進む前に承認する編集可能なMarkdown成果物になっています。コーディングエージェントの記事でベータ版時点のワークフローを扱っており、GA版のノートにはまさにその成果物のためのMarkdownエディタが載っています。2
- ローカライズ。 エージェントがString Catalogのエントリを翻訳でき、ローカリゼーションのエクスポートがヘッダーファイルから
NSLocalizedStringなどのマクロを抽出するようになりました。2 - Icon Composer。 ノートはこれをIcon Composer 2.0と呼び、「a new sharper rendering mode for upcoming 2027 operating systems」(来たる2027年のOS向けの、より鮮明な新しいレンダリングモード)としています。27A266aに同梱されたバンドルはバージョン27.0を報告します。24
- テスト。 テストプランでUIテスト中に対象アプリがクラッシュしたときの扱いをオフから致命的な失敗まで設定でき、
swift testには--maximum-repetitionsと--repeat-until [pass|fail]、そして最後に表示される失敗のサマリーが加わりました。2 - デバッグ。 ブリッジングヘッダーがある場合、LLDBは「can now directly import explicitly built Swift modules and PCH from DerivedData,」(DerivedDataから明示的にビルドされたSwiftモジュールとPCHを直接インポートできるようになった)とされ、
language swift task treeコマンドがSwift Concurrencyのタスクを一覧します。2
私なら今週こうする
- CIに触る前に互換性の行を読みます。ビルド用MacにはmacOS 26.6、Apple siliconのみ、最も古いテストデバイスはiOS 17、そしてmacOS 12、watchOS 9、DriverKit 21のうち自分の製品に当てはまるものです。23
-ld_classicと-ld64をgrepして両方削除します。前者はリンクのたびに警告付きで無視され、後者は即座に失敗します。ビルド設定を開いているついでに、SDKのモジュールを再宣言している手書きのmodule.modulemap、つまりAppleが一意なモジュール名のルールで名指ししている形を探しておきます。24- macOSまたはDriverKitのターゲットを27.0にしていてIntel向けにも出荷しているなら、
ARCHSを明示的に設定します。ARCHS_STANDARDだけではarm64になり、これはmacOSについて私が再現し、Appleは両方について明言しています。24 PreviewProvider、previewLayout、previewDisplayName、previewDeviceを検索し、それぞれのアノテーションが示すメッセージに従います。プロトコルは#Previewへ、previewLayoutは#Preview(traits: .sizeThatFitsLayout)または.fixedLayout(width:height:)へ、previewDisplayNameは#Preview("name")へ、previewDeviceはキャンバスのデバイスピッカーへ。修飾子が警告するのは27.0のデプロイメントターゲットだけで、PreviewProviderへの準拠はどのターゲットでも警告しないため、出荷中のターゲットのビルドログは沈黙したままです。4- Xcode 27で一度ビルドして、2つの診断を確認します。1つは
variable 'self.title' used before being initializedで、宣言時の初期値をすでに持つ@Stateプロパティを他の格納プロパティより先に代入するイニシャライザで出るもので、@Stateマクロの記事が順を追って説明しています。もう1つはinitializers may only be declared within a typeで、配列または辞書リテラルの初期値とinitアクセサを持つプロパティで出るもので、アクセサをゲッターの上に移します。246 - App Store Connectが受け付けるようになった今、27系SDKでTestFlightビルドをアップロードします。その際、起動画面のルールとUIKitのシーン必須化を頭に入れておいてください。どちらも27にリンクした瞬間からアプリを拘束します。56
よくある質問
Xcode 27はいつリリースされましたか?
2026年9月14日(月)、ビルド27A266aとして、iOS 27.0、iPadOS 27.0、macOS 27.0、tvOS 27.0、visionOS 27.0、watchOS 27.0と同じ日にリリースされました。フィードのiOS 27.0 RC(24A437)項目は9月11日付けで、App Store ConnectがRC SDKでのビルドを受け付け始めた2日後です。15
Xcode 27に必要なmacOSは何ですか?
Apple silicon Mac上のmacOS Tahoe 26.6以降です。Intel Macにはインストールも実行もできません。同日にリリースされたmacOS 27.0でも動作します。23
Xcode 27の最小デプロイメントターゲットは何ですか?
iOS 15、iPadOS 15、tvOS 15、watchOS 9、visionOS 1、macOS 12、DriverKit 21です。Xcode 26.6と比べると、watchOSは8から、macOSは11から、DriverKitは20から上がりました。3
Xcode 27でもUniversalなMacアプリをビルドできますか?
はい、macOS 12までさかのぼってビルドできますが、ターゲットのMACOSX_DEPLOYMENT_TARGETが27.0になるとデフォルトではそうなりません。その場合ARCHS_STANDARDはarm64だけに解決されるので、ARCHSにx86_64を自分で追加します。24
Xcode 27.1は出ていますか?
2026年9月15日時点では出ていません。AppleのReleasesフィードとXcodeリリースノートの索引にはXcode 27しか載っておらず、AppleのiPhone Duo開発者ページはXcode 27.1ベータを今も「Coming later this month」(今月後半に公開予定)としています。iPhone Duo SDKは今回のリリースには含まれません。1(9月17日:27.1はまだ出ていません。Xcode 27.2ベータ(27B5019j)が9月16日に出荷され、そのリリースノートは、iPhone Duo向けのiOS SDKとシミュレータ対応が「will be available later this month in an upcoming release of Xcode 27.1.」(今月後半に公開されるXcode 27.1のリリースで提供予定)だとしています。9)(9月19日:ベータとしてなら、はい。Xcode 27.1ベータ(27A9269)が9月18日に、iOS 27.1 SDKと、27.2ベータノートの言葉で「simulator support for iPhone Duo,」(iPhone Duoのシミュレータ対応)を伴って出荷され、App Store ConnectはそのビルドをTestFlight向けに受け付けています。27.1の正式リリースはまだなく、Appleの9月16日のニュース記事は、iPhone Duoが10月23日の出荷時に「will run iOS 27.1」(iOS 27.1を搭載して動作する)と述べています。10)(10月1日:今も最初の27.1ベータ、27A9269だけです。11)(10月11日:RCとしてなら出ています。Xcode 27.1 RC(27A9275)が10月5日にSwift 6.4とiOS 27.1 SDK付きで出荷され、App Store ConnectはそのビルドをApp Store向けに受け付けています。Releasesフィードには、正式版のXcode 27.1はまだ載っていません。12)(10月14日:今もRCのままです。同じ日にXcode 27.2ベータ3が出荷されましたが、並んで出たXcode 27.1の正式版はありません。13)(10月15日:リリース版として、はい。RCのビルドであるXcode 27.1(27A9275)が、AppleのReleasesフィードで太平洋時間13:00付けになっています。ノートのページは「Xcode 27.1 Release Notes」に改題され、同日付けのApp Store Connectの項目にはこうあります。「You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.」(Xcode 27.1でiOS 27.1、iPadOS 27.0、macOS 27.0、tvOS 27.0、visionOS 27.0、watchOS 27.0のSDKを使ってビルドしたアプリを、App Store向け、およびTestFlightによる内部・外部テスト向けにアップロードできるようになった)14)
Xcode 27のリリースノートはどこにありますか?
Appleの開発者向けドキュメントサイトのXcode Release Notesの下に、このリリース用のページが1つあります。本記事で引用したセクションはOverview、Linking、Intel Deprecation、Previews、Swift Compiler、Address Sanitizer、Instruments、Device Hub、devicectl、Simulator、Interface Builder、C++ Standard Library、Organizer、Coding Intelligence、Source Editor、Icon Composer、StoreKit Testing in Xcode、Localization、Testing、Swift Package Manager、Debugging、System、そして9月17日の更新以降はEnhanced Securityです。29 @Stateマクロの変更はXcodeのノートではなく、iOSおよびiPadOS 27のリリースノートのSwiftUIの項にあります。6
出典
-
Apple、Releases、2026年9月15日に取得したRSSフィード。「Xcode 27 (27A266a)」、「iOS 27.0 (24A437)」、「iPadOS 27.0 (24A437)」、「macOS 27.0 (26A428)」、「tvOS 27.0 (24J361)」、「visionOS 27.0 (24M362)」、「watchOS 27.0 (24R364)」、「App Store Connect Update」はいずれも2026年9月14日(月)付け、「iOS 27.0 RC (24A437)」は2026年9月11日(金)付けです。Xcode Release Notesの索引に載っている27系の項目は「Xcode 27 Release Notes」の1つだけで、どちらにも27.1の項目はありません。Apple Developer、Get Ready for iPhone Duo、2026年9月15日取得:「Xcode 27.1 beta. Get the latest SDKs to build, run, and test your app for iPhone Duo. Coming later this month」(Xcode 27.1ベータ。iPhone Duo向けにアプリをビルド、実行、テストするための最新SDK。今月後半に公開予定)。 ↩↩↩↩↩
-
Apple、Xcode 27 Release Notes、GAリリース後の2026年9月15日に取得。引用したセクション:Overview。Linking、Deprecations(”The ld64 linker has been removed and the
-ld_classicoption is no longer supported.” 165165518)。Intel Deprecation、New Features(ARCHS_STANDARD、161837535)およびDeprecations(Apple siliconのみ、全文引用、162138432)。Previews、Deprecations(”PreviewProviderand its family of preview modifiers.” 144168701)およびNew Features(#Preview(arguments:)、167544057)。Swift Compiler、New Features(依存関係スキャナと一意なモジュール名の要件、抜粋、136303612)およびKnown Issues(SE-0508、180969028。回避策の文は全文引用)。System、New FeaturesおよびResolved Issues(177911316)。Address Sanitizer、Known Issues(178072780)。Instruments、Deprecations(166097304)。Device Hub、Deprecations(160482487)。devicectl、New Features(170812159)およびDeprecations(183772705)。Simulator、New Features(179846743、172303413)およびKnown Issues(141290052)。Interface Builder、New Features。C++ Standard Library、New FeaturesおよびDeprecations。Organizer。Coding Intelligence(171990272、172857081)。Source Editor、New Features(Markdownエディタ、175022151)。Localization。Icon Composer。StoreKit Testing in Xcode。Testing。Swift Package Manager、New Features(--maximum-repetitions、177561078。失敗のサマリー、168311253)。Debugging。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple、Xcode support: minimum requirements and supported SDKs、2026年9月15日取得。Xcode 27の行:macOS Tahoe 26.6以降。SDKはiOS 27、tvOS 27、watchOS 27、visionOS 27、macOS 27、DriverKit 27。デプロイメントターゲットはiOS 15から27、iPadOS 15から27、tvOS 15から27、watchOS 9から27、visionOS 1から27、macOS 12から27、DriverKit 21から27。デバイスサポートはiOS 17、tvOS 17、watchOS 10、visionOS 1以降。シミュレータはiOS 17、tvOS 17、watchOS 10、visionOS 1以降。Swift 6.4コンパイラ、言語モードは6、5、4.2、4。Xcode 26.6の行:macOS Tahoe 26.2から26.x。SDKは26.5、DriverKit 25.5。デプロイメントターゲットはiOS 15、tvOS 15、watchOS 8、visionOS 1、macOS 11、DriverKit 20。デバイスとシミュレータのサポートはiOS 15、tvOS 15、watchOS 8、visionOS 1から。Swift 6.3。 ↩↩↩↩↩↩
-
著者による再現。
DEVELOPER_DIRを向けたXcode 27.0(27A266a)、macOS 26.6.2(25G83)、2026年9月15日。xcodebuild -version:「Xcode 27.0 Build version 27A266a」。swift --version:「Apple Swift version 6.4 (swiftlang-6.4.0.34.1 clang-2100.3.34.1)」。ツールチェーンのusr/binにあるリンカはldの1つだけで、ld -vは「PROJECT:ld-27037.1」と、「Aug 25 2026」のビルドであることを出力します。int main(void){return 0;}を含むhello.cに対し、clang hello.o -o hello_classic -Xlinker -ld_classicは「ld: warning: -ld_classic is no longer supported and will be ignored」を出力して終了コード0、clang hello.c -o hello_ld64 -Wl,-ld64は「ld: library ‘d64’ not found」と「clang: error: linker command failed with exit code 1 (use -v to see invocation)」を出力して終了コード1、出力ファイルはありませんでした。マルチプラットフォームのプロジェクトYawara.xcodeproj(SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx xros xrsimulator、-sdk引数なしではARCHS_STANDARDの行を出力しない)に対するxcodebuild -showBuildSettings -sdk macosx:MACOSX_DEPLOYMENT_TARGET = 26.0でARCHS_STANDARD = arm64 x86_64、27.0でARCHS_STANDARD = arm64、どちらでもARCHS_STANDARD_64_BIT = arm64 x86_64。var items: [Int] = []と@storageRestrictions(initializes: storage) init(initialValue)アクセサを持つ9行のContainer構造体:ゲッターが先だとinitの行で「error: initializers may only be declared within a type」となって失敗し、アクセサが先だと終了コード0でコンパイルできます。iPhoneOS 27.0 SDKのSwiftUI.swiftmodule/arm64e-apple-ios.swiftinterface:@available(anyAppleOS, deprecated: 27.0, message: "Use #Preview instead.")が14971行目(public protocol PreviewProvider)、14978行目(その拡張)、14991行目(PreviewPlatform)に、「Use #Preview with a Widget timeline provider or entries instead.」が15023行目(PreviewContextKey)、15029行目(PreviewContext)、15069行目(previewContext)に、「Use the device picker in Xcode’s canvas.」が15053行目(previewDevice)に、「Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.」が15058行目(previewLayout)に、「Use #Preview(“name”) instead.」が15063行目(previewDisplayName)に、「Use #Preview(traits: .landscapeLeft) or other orientation traits instead.」が15075行目(previewInterfaceOrientation)にあります。素のPreviewProvider準拠をswiftc -cでコンパイルすると、-target arm64-apple-ios27.0-simulator、ios26.0、ios17.0のいずれでも警告は出ませんでした。PreviewProviderの内側でpreviewLayout(.sizeThatFits)、previewDisplayName("Card")、previewDevice(PreviewDevice(rawValue: "iPhone 18 Pro"))を適用したファイルは、ios27.0で3つの[#DeprecatedDeclaration]警告(「’previewLayout’ was deprecated in any Apple OS 27.0: Use #Preview(traits: .sizeThatFitsLayout) or .fixedLayout(width:height:) instead.」、および対応するpreviewDisplayNameとpreviewDeviceのメッセージ)を出し、ios26.0とios17.0では出しませんでした。4つのプロトコルにそれぞれ準拠する構造体を用意し、1つの関数シグネチャにany P引数を持たせた検証を-target arm64-apple-ios27.0-simulatorでコンパイルしたところ、@available(iOS, deprecated: 27.0)のみ、@available(anyAppleOS, deprecated: 27.0)のみ、@available(iOS, deprecated: 27.0)の上に@available(iOS 13.0, *)を置いたものは、いずれも準拠の行とany P引数の型で警告(「’P1’ was deprecated in iOS 27.0」、「’P2’ was deprecated in any Apple OS 27.0」、「’P4’ was deprecated in iOS 27.0」)を出した一方、SDKと同じ組み合わせ、つまり@available(anyAppleOS, deprecated: 27.0)の上に@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)を置いたものはどちらにも警告を出しませんでした。これらの存在型を通したメソッド呼び出しは4つとも診断なしで、ios26.0では4つとも警告が出ませんでした。インターフェースでは、PreviewProviderは14970行目から14972行目でまさにその組み合わせの下にあり、previewLayoutは15058行目から15059行目で自身の宣言にanyAppleOSの非推奨指定だけを持ち、それを収めるextension SwiftUICore.Viewのintroduced属性は15051行目にあります。init(title:)の中で_page = State(initialValue: StickerPage(title: title))と代入する2つのビュー、@State private var page: StickerPageのものと@State private var page = StickerPage()のものを含むファイルは、ios27.0で終了コード0、診断なしでコンパイルできました。@Stateの検証は、それぞれ@State private var pageとlet title: Stringを持つStickerPageViewで、iPhoneSimulator 27.0 SDKに対してswiftc -c -target arm64-apple-ios27.0-simulatorでコンパイルしました。Appleの1つ目の例、@State private var page = StickerPage()と、self.pageを代入してからself.titleを代入するinit(title:)は、self.pageの行で「error: variable ‘self.title’ used before being initialized」となり終了コード1。self.title = titleをself.pageの代入より上に移した同じファイルはコンパイルでき、終了コード0。Appleの2つ目の例、初期値のない@State private var page: StickerPageとself.init(page: page, title: title)を呼ぶ拡張はコンパイルでき、終了コード0で、-Xfrontend -dump-macro-expansionsはマクロが@storageRestrictions(initializes: _page) init(initialValue)アクセサ付きでprivate var _page: SwiftUICore.State<StickerPage>を生成していることを示しました。xcrun devicectl --version:642.16。devicectl list devices --json-outputは"jsonVersion": 5を書き出しました。27A266a内のIcon ComposerのInfo.plist:CFBundleShortVersionStringは27.0。-target arm64-apple-ios27.0-simulatorでiPhoneSimulator 27.0 SDKに対して行ったモジュールマップの検証:module Widgetを宣言するmodule.modulemapをそれぞれ収めた2つのディレクトリと、それをインポートするmain.swiftが1つ。両方を検索パスに載せた状態で、swiftc -typecheckは20回中20回、終了コード1(「error: redefinition of module ‘Widget’」、「note: previously defined here」)、swiftc -scan-dependenciesは20回中20回、終了コード0で、毎回同じエラーとnoteをstderrに出力しつつ、Widgetのエントリが最初のディレクトリのモジュールマップを指し、2つの-I引数を逆にするともう一方のディレクトリのマップを指すグラフを書き出しました。SQLite3を宣言するVendor/module.modulemapを検索パスに置くと、スキャンは20回中20回、終了コード0かつstderrは空で、SQLite3を同梱のマップに解決し、sqlite3_openを呼ぶファイルは、そのディレクトリが検索パスから外れるまで「error: cannot find ‘sqlite3_open’ in scope」で型チェックに失敗しました。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple、App Store Connect release notes、2026年9月15日取得。2026年9月14日の項目は上の表に全文引用しています。2026年9月9日の項目はRC SDKでのアップロードを記録し、iPhone Duo、iPhone 18 Pro Max、iPhone 18 Pro、Apple Watch Ultra 4、Apple Watch Series 12のスクリーンショットとAppプレビューの仕様を追加しており、「Support for uploading assets for iPhone Duo in App Store Connect will be available later this year.」(App Store ConnectでのiPhone Duo向けアセットのアップロード対応は今年後半に提供予定)とあります。 ↩↩↩↩↩
-
Apple、iOS & iPadOS 27 Release Notes、SwiftUI、New Features(105893279)、2026年9月15日取得。次の引用の出典です。”Xcode 27 introduces a new
@Stateimplementation that avoids this repeated evaluation. This new behavior back-deploys to iOS 17 aligned OSes. The new@Stateis implemented with a Swift macro. It is largely source compatible with the property wrapper version, with a few exceptions.”。StickerPageViewのリストを伴う”If you provide an initial value at@Statedeclaration, and also try to assign a value to it in an initializer, the initializer value is discarded. This behavior has not changed because of the macro, but some such cases no longer compile:「。リストを伴う」When all stored members of a struct are private, the compiler synthesizes a private init that can be used in an extension of the same type:「。そして」The state macro disables this synthesized initializer. So the code above no longer compiles. To mitigate, assign value to members explicitly:「。またリストのない2つの例外、」In rare situations, the automatic inference of generic arguments of@Stateis less flexible with the macro implementation. Write the type with more specificity.「と」Composing@Statewith other property wrappers or macros is not supported.”。同じ文書のUIKitセクションには手順6で引用した2つの要件があります。New Featuresの”iOS and iPadOS apps built with the 27.0 SDK or later are required to include a launch screen.”(27.0 SDK以降でビルドしたiOSおよびiPadOSアプリには起動画面が必須)(168247372)と、Deprecationsの”Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch.”(最新SDKでビルドしたアプリはシーンベースのライフサイクルを採用しなければ起動に失敗する)(141837548)です。 ↩↩↩↩↩↩↩↩↩↩↩ -
Cal Stephens、SE-0508: Array expression trailing closures、Swift Evolution、ステータス”Implemented (Swift 6.4)”、実装はswiftlang/swift#86244、2026年9月15日取得。”Init accessors”の小節が次の出典です。”One other case where this can result in an error is for properties with both an
initaccessor and initial value that is either an array or dictionary literal. If the getter is declared before theinitaccessor, we will now attempt to parse as a trailing closure:”、上で引用した曖昧さ解消の文、そして”This particular case appears to be quite rare in practice, it does not appear in the source compatibility suite, or for internal Swift projects at Apple.”。 ↩ -
Apple、Xcode 15 Release Notes、Linking、New Features(108915312)、2026年9月15日取得:「The classic linker can still be explicitly requested using -ld64, and will be removed in a future release.」(クラシックリンカは-ld64で明示的に要求でき、将来のリリースで削除される予定)。 ↩↩
-
Apple、Releases、2026年9月17日に取得したRSSフィード、最終ビルド日時はWed, 16 Sep 2026 14:00:00 PDT。Wed, 16 Sep 2026付けの項目:「TestFlight Update」、「Xcode 27.2 beta (27B5019j)」、「iOS 27.2 beta (24B5084k)」、「iPadOS 27.2 beta (24B5084k)」、「macOS 27.2 beta (26B5086k)」、「tvOS 27.2 beta (24K5088l)」、「visionOS 27.2 beta (24N5088l)」、「watchOS 27.2 beta (24S5086l)」。項目のタイトルに27.1を含むものはありません。Apple、Xcode 27.2 Beta Release Notes、2026年9月17日にドキュメントJSONエンドポイント経由で取得:Overview(iPhone Duoの一文とmacOS Tahoe 26.6の要件)、Project Format、New Features(184661114)、SDK、Known Issues(187160501)。ノートのセクションはGeneral、Device Hub、Previews、Previews & Playgrounds、Project Format、SDK、Simulatorで、ld64、モジュール名、
@State、PreviewProviderに触れるものはありません。同じ日に再取得したXcode 27 Release Notesは、この記事で引用したXcode 27のエントリを変更なしで載せており、9月16日にはなかったエントリが1つあります。Enhanced Security、Known Issues(187057599)で、更新で引用したものです。27.2ベータのノートのSimulatorの既知の問題は141290052です。 ↩↩↩↩↩↩↩↩ -
Apple、Releases、RSSフィードを2026年9月19日に取得、最終ビルド日時 Fri, 18 Sep 2026 14:00:00 PDT:「Xcode 27.1 beta (27A9269)」は Fri, 18 Sep 2026 10:00:00 PDT 付け、「TestFlight Update」は Fri, 18 Sep 2026 14:00:00 PDT 付け。Apple、Xcode 27.1 Beta Release Notes、ドキュメントJSONエンドポイント経由で2026年9月19日に取得:Overview(SDK一覧とmacOS Tahoe 26.6要件を引用)、Mac Catalyst、Known Issues(185924957、187046347、それぞれ回避策付き)、Previews、New Features(182598534)、Simulator、Known Issues(187708500、187708663、187708767)。ノートに他のセクションはありません。同日に取得したXcodeリリースノート索引には Xcode 27 Release Notes、Xcode 27.1 Beta Release Notes、Xcode 27.2 Beta Release Notes が並びます。Apple、App Store Connectリリースノート、2026年9月18日、TestFlight update、全文引用。Apple、Xcode 27.2 Beta Release Notes、2026年9月17日と9月19日に取得:2回の取得の差分はOverviewのみで、9月17日の一文「The iOS SDK and simulator support for iPhone Duo will be available later this month in an upcoming release of Xcode 27.1.」が補足「Download Xcode 27.1 beta to get the iOS SDK and simulator support for iPhone Duo.」に置き換わり、そのリンク先は https://developer.apple.com/download/applications/ です。9月19日に取得したXcode 27 Release Notesは9月17日の取得と同一です。Apple、「Get ready with the latest beta releases」、ニュース、2026年9月16日:「When iPhone Duo becomes available on October 23, it will run iOS 27.1.」 Apple、「App Store submissions now open for the latest OS releases」、ニュース、2026年9月9日、「Starting April 2027」で始まる段落を引用。Apple、Upcoming Requirements、2026年9月19日に取得、最新項目は「SDK minimum requirements」、「Since April 28, 2026」。Apple、ArrangementView、ドキュメントJSONを2026年9月19日に取得、対応OSは iOS 27.1 と iPadOS 27.1、ベータ表示。同じ対応OS、ベータ表示のiOS 27.1とiPadOS 27.1は、UIArrangementViewController、reservedRegions(kind:options:layoutDirectionBehavior:)、reservedRegions(kind:options:)、toolbarVerticalBehavior(_:)の各ページにも現れ、いずれも同じ日に取得したものです。 ↩↩↩↩↩↩↩↩↩↩
-
Apple、Releases、RSSフィードを2026年10月1日に取得:「Xcode 27.2 beta 2 (27B5028f)」は Mon, 28 Sep 2026 10:00:00 PDT 付けで、「iOS 27.0.1 (24A446)」「iPadOS 27.0.1 (24A446)」「macOS 27.0.1 (26A434)」「visionOS 27.0.1 (24M372)」と並び、13:00:00 PDT 付けで「watchOS 27.0.1 (24R365)」があります。フィードのXcodeの項目は「Xcode 27.2 beta 2 (27B5028f)」「Xcode 27.1 beta (27A9269)」「Xcode 27 (27A266a)」「Xcode 26.6 (17F113)」です。Apple、Xcode 27.2 Beta 2 Release NotesとXcode 27 Release Notes、ドキュメントJSONエンドポイント経由で2026年10月1日に取得。Xcode 27のページの本文は9月26日の取得と一致します。 ↩↩↩↩
-
Apple、Releases、RSSフィードを2026年10月11日に取得、最終ビルド日時 Tue, 06 Oct 2026 10:00:00 PDT:「Xcode 27.1 RC (27A9275)」は Mon, 05 Oct 2026 10:00:00 PDT 付け。フィードのXcodeの項目は「Xcode 27.1 RC (27A9275)」「Xcode 27.2 beta 2 (27B5028f)」「Xcode 27.1 beta (27A9269)」「Xcode 27 (27A266a)」「Xcode 26.6 (17F113)」です。Apple、App Store Connect release notes、2026年10月11日取得、2026年10月5日付けの項目「App Store Connect updates」を引用。Apple、Xcode 27.1 RC Release Notes、2026年10月11日取得、Overview:「Xcode 27.1 RC includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.」(Xcode 27.1 RCにはSwift 6.4と、iOS 27.1、iPadOS 27、tvOS 27、watchOS 27、macOS 27、visionOS 27のSDKが含まれる) ↩↩↩
-
Apple、Releases、RSSフィードを2026年10月15日の04:36 UTC(10月14日の太平洋時間21:36)に取得:「Xcode 27.2 beta 3 (27B5038j)」は Wed, 14 Oct 2026 10:00:00 PDT 付け。「iOS 27.2 beta 4 (24B5110a)」「iPadOS 27.2 beta 4 (24B5110a)」「macOS 27.2 beta 4 (26B5112a)」「visionOS 27.2 beta 4 (24N5114a)」「watchOS 27.2 beta 4 (24S5112a)」は Tue, 13 Oct 2026 10:00:00 PDT 付け。フィードのXcodeの項目は「Xcode 27.2 beta 3 (27B5038j)」「Xcode 27.1 RC (27A9275)」「Xcode 27.1 beta (27A9269)」「Xcode 27 (27A266a)」「Xcode 26.6 (17F113)」です。Apple、Xcode 27.2 Beta 3 Release Notes、ドキュメントJSONエンドポイント経由で2026年10月15日の04:38 UTC(10月14日の太平洋時間21:38)に取得し、HomeViewの記事のために2026年10月14日の05:09 UTC(10月13日の太平洋時間22:09)に保存したベータ2のコピーと比較:補足なし。Interface Builder、Resolved Issues(186354589、187747632)。Simulator Runtimes、Known Issues(188407822)。Simulator、Resolved Issues in Xcode 27.2 Beta 2(141290052、187950199)。Apple、Xcode 27 Release Notes、ドキュメントJSONエンドポイント経由で2026年10月15日の05:03 UTC(10月14日の太平洋時間22:03)に取得:内容は2026年10月11日に保存したコピーと同一で、141290052は今もSimulator、Known Issuesの下にあります。Apple、App Store Connect release notes、2026年10月15日の05:04 UTC(10月14日の太平洋時間22:04)に取得、2026年10月14日付けの項目「TestFlight update」:「You can now submit apps built with Xcode 27.2 beta 3 using the SDK for iOS 27.2 beta 4, iPadOS 27.2 beta 4, macOS 27.2 beta 4, tvOS 27.2 beta 3, visionOS 27.2 beta 4, and watchOS 27.2 beta 4 for internal and external testing.」(Xcode 27.2ベータ3でiOS 27.2ベータ4、iPadOS 27.2ベータ4、macOS 27.2ベータ4、tvOS 27.2ベータ3、visionOS 27.2ベータ4、watchOS 27.2ベータ4のSDKを使ってビルドしたアプリを、内部・外部テスト向けに提出できるようになった) ↩↩↩↩
-
Apple、Releases、RSSフィードを2026年10月15日の太平洋時間17:16(10月16日の00:16 UTC)に取得:「Xcode 27.1 (27A9275)」は Thu, 15 Oct 2026 13:00:00 PDT 付けで、10月11日の取得時にあった10月5日のRCの項目と同じビルド番号です。そのRCの項目は、もうフィードにありません。Apple、Xcode 27.1 Release Notes、ドキュメントのJSONエンドポイント経由で2026年10月15日の太平洋時間17:21に取得、「Xcode 27.1 RC Release Notes」から改題。Overview:「Xcode 27.1 includes Swift 6.4 and SDKs for iOS 27.1, iPadOS 27, tvOS 27, watchOS 27, macOS 27, and visionOS 27.」(Xcode 27.1にはSwift 6.4と、iOS 27.1、iPadOS 27、tvOS 27、watchOS 27、macOS 27、visionOS 27のSDKが含まれる)。iPhone Duo Simulatorの2つのKnown Issues、187708663と187708767は変更なし。Apple、App Store Connect release notes、2026年10月15日の太平洋時間17:20に取得、2026年10月15日付けの項目「App Store Connect updates」:「You can now upload apps built with Xcode 27.1 using the SDK for iOS 27.1, iPadOS 27.0, macOS 27.0, tvOS 27.0, visionOS 27.0, and watchOS 27.0 for the App Store, and for internal and external testing through TestFlight.」(Xcode 27.1でiOS 27.1、iPadOS 27.0、macOS 27.0、tvOS 27.0、visionOS 27.0、watchOS 27.0のSDKを使ってビルドしたアプリを、App Store向け、およびTestFlightによる内部・外部テスト向けにアップロードできるようになった)と「Submit your iPhone Duo optimized apps and games in App Store Connect today. Starting April 2027, any apps or games submitted will need to include screenshots for iPhone Duo.」(iPhone Duoに最適化したアプリやゲームを、今日からApp Store Connectで提出できる。2027年4月以降、提出するアプリやゲームにはiPhone Duoのスクリーンショットが必要になる)。同じ時間帯に取得したAppleのデベロッパニュースのフィードには、このリリースの項目はありません。Apple、Xcode 27 Release Notes、ドキュメントのJSONエンドポイント経由で2026年10月15日の太平洋時間17:26に取得:本文は2026年10月11日に保存したコピーと同一です。17:16の取得時点でのフィードのXcodeの項目は「Xcode 27.1 (27A9275)」「Xcode 27.2 beta 3 (27B5038j)」「Xcode 27.1 beta (27A9269)」「Xcode 27 (27A266a)」「Xcode 26.6 (17F113)」です。 ↩↩↩↩
-
Apple、Releases、RSSフィードを2026年10月26日の太平洋時間16:12に取得:「iOS 27.2 (24B91020)」「iOS 27.2 (24B119)」「iPadOS 27.2 (24B119)」「macOS 27.2 (26B123)」「tvOS 27.2 (24K122)」「visionOS 27.2 (24N120)」「watchOS 27.2 (24S118)」は Mon, 26 Oct 2026 10:00:00 PDT 付け。「TestFlight 4.4.1」は Thu, 22 Oct 2026 14:00:00 PDT 付け。「Xcode 27.2 RC (27B48)」は Mon, 19 Oct 2026 10:00:00 PDT 付けで、最新のXcodeの項目です。iOS 27.1のリリースを名前に含む項目のタイトルはありません。Apple、Xcode 27.2 RC Release Notes、ドキュメントのJSONエンドポイント経由で2026年10月26日に取得、Last-ModifiedはMon, 19 Oct 2026 04:56:10 GMT:Overview、引用。Device Hub、New Features(189236369)、Resolved Issues(188313956、188326513)、Known Issues(189261485とFB25077755、回避策付きの189465196)、引用。Instruments(168530263)、Memory Gauge(187611943)、XCTest UI Automation(188422137)。Mac Catalyst、Known Issues(185924957)。SDK、Known Issues(187160501)、引用。Simulator、Resolved Issues(190126101、190155353)。Apple、App Store Connect release notes、2026年10月26日に取得:2026年10月20日のエントリ、全文引用。2026年10月22日の「TestFlight update」:「TestFlight 4.4.1 is now available on the App Store for iPhone and iPad. This update includes: Support for iPhone Duo. Stability improvements and bug fixes.」(TestFlight 4.4.1がiPhoneとiPad向けにApp Storeで入手可能になった。iPhone Duoへの対応、安定性の向上とバグ修正を含む)。Apple Support、「Apple security releases」、2026年10月26日に取得:「iOS 27.1」「This update has no published CVE entries.」「iPhone Duo」「23 Oct 2026」の行。Apple Newsroom、「iPhone Duo arrives at Apple Store locations worldwide」、2026年10月23日:「On Friday, October 23, the highly anticipated iPhone Duo made its debut at Apple Store locations worldwide.」(10月23日(金)、待望のiPhone Duoが世界中のApple Storeでデビューした)。10月26日に取得したiOS & iPadOS Release Notesの索引には、「iOS & iPadOS 27 Release Notes」と「iOS & iPadOS 27.2 Release Notes」しかありません。筆者のMac、2026年10月26日、Xcode 27.1(27A9275):iPhoneOSとiPhoneSimulatorの27.1 SDKの
SystemVersion.plistは、ProductBuildVersionを24A94232としています。 ↩