macOS 27リリースノート:非推奨、挙動の変化、修正点
macOS 27 Golden Gateは2026年9月14日(月)にビルド26A428として公開され、同じ日にそのSDK(ビルド26A425)がXcode 27(27A266a)に同梱されて出荷されました。 Appleのリリースノートは86の見出し領域、272エントリに及び、内訳は新機能68件、解決済みの問題173件、既知の問題18件、非推奨13件です。この記事ではMac開発者の視点でノートを読みます。27 SDKにリンクした瞬間にアプリの動作を変えるエントリ、リビルドなしでも効いてくるOSレベルの変更、SDK自身のヘッダとSwiftインターフェースで照合した13件の非推奨、そしていまだ26.6.2で動くMacで私が検証できたこと、できなかったことです。Rosettaとarm64インストーラのデフォルトはGolden Gate GAの記事で扱ったので、ここではそれ以外をすべて扱います。123
TL;DR
- ビルド番号。 デバイスは26A428、SDKは26A425です。SDKの番号はデバイスの番号ではなく、バグ報告でビルド番号を求められたときにこの違いが効いてきます。9月26日時点で、Appleのリリースノート索引にもリリースフィードにもmacOS 27.0.1はありません。最新のエントリは27と、9月21日付けの27.2 beta 2(26B5091g)です。137
- 27にリンクしたときの挙動。 13の変更が、27 SDKにリンクした瞬間からアプリの動作を変えます。シンボル以外のメニュー項目画像が非表示になり、画像だけの項目は例外扱いを失うこと、
NSOpenPanelがコンテンツタイプからcanChooseFilesを導くこと、Layout OrientationメニューがFontの下へ移ること、タイトルバーのアクセサリが境界の外に描画されること、TextFieldのプロンプトにスタイルが効くこと、選択可能なTextでのTextRenderer、シートとポップオーバー内でコントロール修飾子がリセットされること、containerRelativeFrameのセーフエリア計算、LabeledContentがメニューのサブタイトルになること、インスペクタ内のTabViewがtabsスタイルに切り替わること、Listがこれまで拒んでいたドロップを受け入れること、newDocumentがメモリ上のドキュメントを受け取ること、そしてMac Catalystではシーンライフサイクルの義務化と拡張された状態復元です。2 - リビルド不要で効く変更。 メニュー項目のシンボル画像は、macOS 26.0以降でリンクしたすべてのアプリで消えます。SwiftUIとUIKitのメニューではSDKの条件すらありません。ジェスチャレコグナイザは最初にヒットテストされたビュー階層だけのものになり、固まったジェスチャは自動でキャンセルされ、基底の
locationInView:はNSZeroPointを返します。launchdは隔離属性付きのプロパティリストを読み込まなくなったと記載され、TCCデータベースへの直接アクセスは終わり、他チームのコンテナへのアクセスはプロンプトなしで拒否されます。XProtectはアプリのデータを囲い込めるようになり、MDMとソフトウェアアップデートの通信にはATS水準の暗号スイートでTLS 1.2が必要になり、ユーザーが「Open using Rosetta」に設定したアプリはネイティブで起動します。2 - 13件の非推奨、うちAPIは4件。
PHAssetResource.originalFilenameはデプロイメントターゲットが27.0のときだけ警告します(ヘッダではmacos(10.15, 27))。FileDocumentはソフトな100000.0のバージョンが付いていて警告を出しません。calendar.deleteEventsはApp Intentsのインターフェースから消えたので、旧名はコンパイルに失敗します。DVDPlaybackはノートの記述に反してスタブ、ヘッダ、モジュールとして27.0 SDKに残っており、27.0未満のフロアでは警告、27.0では失敗です。残り9件はAPIではなく、OSの挙動、アプリ、フォーマット、あるいはベータの名残です。23 - 新しいAppKitはSDKで裏付けが取れます。
NSRefreshController、NSTextSelectionManager、NSToolbarItemGroup.RoleとNSSegmentedControlRoleを伴うroleプロパティ、preferredImageVisibility、cancellableByScrollGesture、そしてNSApplicationPresentationDisableScreenCornerInteractionsオプションは、すべてmacos(27.0)の注釈付きです。DiskImageKitとNowPlayingのフレームワークも存在し、SystemにはStat型があります。StoreKitにはassignedとBundledSubscriptionがありますが、ノートがassignmentRevokedと書く箇所は、インターフェースではassignmentRevocationです。3
どのビルドがどれなのか?
| 場所 | ビルド | 根拠 |
|---|---|---|
| デバイス、macOS 27.0 | 26A428 | リリースフィード、2026年9月14日(月)1 |
| Xcode 27(27A266a)内のSDK | 26A425 | MacOSX27.0.sdk/System/Library/CoreServices/SystemVersion.plistのProductBuildVersion3 |
| macOS 27.2 beta 2 | 26B5091g | リリースフィード、2026年9月21日(月)1 |
| macOS 27.0.1 | なし | 9月26日時点で、リリースフィードにもmacOSリリースノートの索引にも存在しない17 |
| App Store Connect | 27.0 GA SDKを受け付け | 「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.」(Xcode 27と各27.0 SDKでビルドしたアプリを、App Store向けとTestFlightでの内部・外部テスト向けにアップロード可能)9月14日6 |
ノートは範囲を述べる2文、「The macOS 27 SDK provides support to develop apps for Mac computers running macOS 27 Golden Gate. The SDK comes bundled with Xcode 27, available from the Mac App Store,」で始まり、その後86の見出し領域が続きます。各見出しの下のリスト項目を数えると、新機能68件、解決済みの問題173件、既知の問題18件、非推奨13件になります。Siriは解決済み26件と既知6件、SwiftUIは新機能21件と解決済み19件、AppKitは新機能8件と解決済み18件、Core AIは解決済み11件、StoreKit Testing in Xcodeは解決済み10件と既知2件を占めます。2 iPhone側はiOS 27のノートの記事で扱っており、同じSwiftUIのエントリがiOSの文言で登場します。ツールチェーンはXcode 27の記事をご覧ください。
9月21日付けの27.2 beta 2のノートは短いものです。修正済みとされたXcodeのコード補完クラッシュ、AppKitの非推奨1件(”The EnablePasteboardPrivacyDeveloperPreview user default has been removed.”、このユーザーデフォルトは削除済み)、クリーンインストール時のNotificationsの既知の問題、Shortcutsの既知の問題、後述するStoreKit Testingの既知の問題2件が修正済みへ移ったこと、そしてSKTestSession.clearTransactions()の後の導入オファー適格性に関するStoreKit Testingの新しい修正1件です。これらのStoreKit Testingのエントリを除けば、この記事で扱う27.0のエントリに触れるものはありません。4
macOS 27 SDKにリンクした瞬間に何が変わるのか?
Appleは挙動の変更を、アプリがリンクするSDKで切り替えます。したがって以下の変更はすでに出荷したビルドには何もせず、Xcode 27からの最初のアーカイブですべて発火します。それぞれノートの文言を引用します。2
- シンボル以外のメニュー項目画像と、空タイトルの例外。 後述するシンボル画像の変更はリビルド不要で、残りをリビルドが引き受けます。「For applications linked on the macOS 27 SDK, both symbol and non-symbol menu item images are now automatically hidden. For applications linked on earlier SDKs, non-symbol images remain automatically visible, preserving compatibility with existing application behavior.」(27 SDKでリンクしたアプリではシンボル画像も非シンボル画像も自動的に非表示、それ以前のSDKでは非シンボル画像は表示されたまま)そして古いビルドには逆方向の扱いがあります。「For applications linked on SDKs prior to macOS 27, NSMenu now automatically shows menu item images if the menu item title and attributed title are both empty. This preserves existing application behavior when the image is the only representation of the menu item content. When linking against the macOS 27 SDK, these images will automatically be hidden.」(27より前のSDKでは、タイトルが空の項目の画像は自動的に表示されるが、27 SDKにリンクすると非表示になる)画像だけの項目は、リビルド後に
preferredImageVisibilityを.visibleに設定する必要があります。監査の手順はメニュー画像の記事にまとめました。 - オープンパネルが選択対象を自ら導く。 修正済みとして記載されています。”In apps built with the macOS 27.0 SDK, setting
allowedContentTypesandtreatsFilePackagesAsDirectoriesonNSOpenPaneupdatescanChooseFilesandcanChooseDirectoriesbased on whether the requested types are file or directory types.”(要求されたタイプがファイルかディレクトリかに応じて、canChooseFilesとcanChooseDirectoriesが更新される)(クラス名はノートの誤記です。)コンテンツタイプを設定したうえで、明示的なcanChooseDirectories = trueに頼っていたオープンパネルが、再テストすべき形です。 - Layout Orientationが移動する。 “NSTextView’s
menuForEvent:now returns a context menu in which the Layout Orientation menu item, and its submenu, are located inside the Font submenu. Because this change can cause compatibility issues with some shipping applications, it applies only to applications linked on the macOS 27 SDK.”(Layout Orientation項目がFontサブメニューの中へ移り、互換性への配慮から27 SDKでリンクしたアプリにだけ適用される)メニューをたどってこの項目を探すコードは、リビルドで壊れます。 - タイトルバーのアクセサリがはみ出す。 “When an app is linked on macOS 27.0 or later,
NSTitlebarAccessoryViewControlleris now allowed to draw outside its bounds by default, supporting effects such as shadows and interactive glass effects. During reveal animations, accessories might be clipped for the duration of the animation or when the accessory ishidden.”(影やインタラクティブなガラス効果のため、デフォルトで境界の外に描画できるようになる。表示アニメーション中やhiddenのときはクリップされることがある) TextFieldのプロンプトにスタイルが効く。 “In apps built with the macOS 27.0 SDK,TextFieldrespects custom font and color styling applied to its prompt. Apply styling to theTextprovided toTextField’spromptparameter at initialization.”(プロンプトに適用したフォントと色が反映されるので、初期化時にpromptパラメータへ渡すTextにスタイルを付ける)- 選択可能な
TextでTextRendererが使える。 “In apps built with the iOS 27.0 and macOS 27.0 SDKs, selectableTextviews now supportTextRenderer,「とあり、隣の修正済みエントリは、カスタムレンダラーが」now takes effect on aTextview that also has.textSelection(.enabled)applied.”(.textSelection(.enabled)も適用されたTextビューで効くようになった)と述べています。 - シートとポップオーバー。 修正済みとして記載されています。”In apps built with the 27.0 SDKs, the
controlSize,buttonSizing,buttonRepeatBehavior,menuIndicatorVisibility, andButtonBorderShapeenvironment values are now reset to their default values in sheets and popovers.”(これらの環境値はシートとポップオーバーの中でデフォルトにリセットされる)表示元から.controlSize(.large)を受け継いでいたシートは、もう受け継ぎません。 containerRelativeFrame。 27.0でのビルド向けに修正済みとして記載されています。この修飾子が”incorrectly accounts for safe-area insets on aScrollView’s non-scrollable axis, causing the calculated scrollable content size to be too small.”(ScrollViewのスクロールしない軸でセーフエリアのインセットを誤って計算に入れ、スクロール可能なコンテンツサイズが小さくなりすぎる)という内容です。ただしエントリの例はコンテンツが縮むのではなくセーフエリアへ広がる様子を描いており、どちら向きの変化なのかははっきりしません。ScrollView内のcontainerRelativeFrameは、リビルド後に再テストしてください。- メニューにサブタイトルが付く。 “In apps built with the 27.0 SDKs, a
LabeledContentview used inside aMenumaps its value to the platform menu item’s subtitle.”(Menu内のLabeledContentの値が、プラットフォームのメニュー項目のサブタイトルになる) - インスペクタの
TabView。 “In apps built with the latest SDKs, the appearance ofTabViewsin inspectors now matches their appearance in sidebars, and in both contexts automatically uses the new.tabspicker style.”(インスペクタ内のTabViewはサイドバーと同じ見た目になり、どちらでも新しい.tabsピッカースタイルを自動で使う) Listがより多くのドロップを受け入れる。 “In macOS apps built with the macOS 27 SDK,Listaccepts drops in two cases that previously didn’t work: drags with compatible transfer representations are accepted into reorderable content even when the.reorderableItemtransfer type isn’t present, and a.dropDestination(...)modifier declared on a list item now performs the drop.”(互換性のある転送表現を持つドラッグは.reorderableItemがなくても並べ替え可能なコンテンツに受け入れられ、リスト項目に宣言した.dropDestination(...)が実際にドロップを処理する)Macで一度も発火しなかったドロップハンドラが、発火し始めるかもしれません。newDocumentがインスタンスを受け取る。 “In macOS apps built with the macOS 27 SDK, the action retrieved from the\.newDocumentenvironment value accepts an in-memoryReadableDocumentproduced by an autoclosure. SwiftUI presents a new document window populated with the supplied instance, instead of invoking the document group’s default factory.”(\.newDocumentのアクションが、オートクロージャで作ったメモリ上のReadableDocumentを受け取り、ドキュメントグループのデフォルトのファクトリを呼ばずにそのインスタンスで新しいウインドウを開く)- Mac Catalyst。 UIKitの非推奨の項に”Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch,”とあります。iOSについてシーンの記事で扱ったのと同じ義務化です。さらに”When linked on iOS 27, tvOS 27, macCatalyst 27, or visionOS 27 SDKs, you can use
UIScene.extendStateRestorationandUIScene.completeStateRestorationto extend state restoration”とあり、状態復元をバックグラウンドからフォアグラウンドへの遷移まで延ばせます。これとは別に、SDKの条件なしで”Catalyst apps now behave like AppKit apps when you switch to them with no open windows”(ウインドウが開いていない状態で切り替えたとき、CatalystアプリがAppKitアプリと同じように振る舞う)とされ、DockかSpotlightから起動されない限りウインドウを作らなくなります。
SwiftUIとSwift Chartsのエントリが1件ずつ、リンクではなくコンパイラに依存するものの、ここに含めるべき内容です。@Stateマクロの書き換えは「back-deploys to iOS 17 aligned OSes」(iOS 17と足並みのそろったOSまでバックデプロイされる)もので、Xcode 27でコンパイルできるものを変えます。初期値を持ちつつinitでも代入する宣言の一部はコンパイルできなくなり(Appleの言葉では”some such cases”)、合成されていたprivateイニシャライザは消えます。監査の手順は@Stateマクロの記事にあります。そしてSwift Chartsのエントリは修正済みとして記載され、警告と実行時クラッシュの可能性を述べています。”When your project has a minimum deployment target lower than 27.0, using conditionals inside a Chart closure produces the warning”で_ConditionalContentの準拠に関する警告が出て、「and the app might crash at runtime when that content is loaded.」(そのコンテンツが読み込まれると実行時にクラッシュするかもしれない)という内容です。引用された警告はプラットフォーム名が空になっており、ベータ期の診断のように読めます。私は再現できませんでした。9月26日に、クロージャ内でifによってBarMarkとLineMarkに分岐するChartを、27.0 SDKに対して26.0と27.0の両方のデプロイメントターゲットで型チェックしたところ、診断は何も出ませんでした。エントリの実行時クラッシュの部分はAppleの記述であり、ここでは未検証のままです。23
リビルドしなくても何が変わるのか?
ノートの残り半分はオペレーティングシステムそのものを記述しており、これらは昨年出荷したバイナリにも適用されます。2
- メニューのシンボル画像が消える。 AppKitでは”By default,
NSMenuhides all menu item symbol images”とあり、この変更は”to applications linked on macOS 26.0 and later”に適用されます。つまりXcode 26でビルドしたものも、リビルドなしで27のマシン上ではシンボル画像を失います。上書きの手段はNSMenuItemのpreferredImageVisibility(API_AVAILABLE(macos(27.0)))で、xibインスペクタの「macOS 26.0 only」チェックボックスがもう1つのスイッチです。SwiftUIでは「By default, SwiftUI now hides all menu item symbol images in most contexts, while non-symbol images remain visible,」(ほとんどの文脈でシンボル画像を隠し、非シンボル画像は表示のまま)とあり、表示を保つスイッチはlabelStyle(_:)と.titleAndIconで、エントリにSDKの条件はありません。UIKitでは「On iPadOS 27.0 and macOS 27.0, the menu bar and context menus present a reduced set of menu item images and do not display images set on menu elements by default,」(メニューバーとコンテキストメニューが表示する画像を絞り、メニュー要素に設定した画像をデフォルトでは表示しない)とあり、UIMenuElementのpreferredImageVisibilityが用意され、こちらもSDKの条件はありません。ヘッダもOS側の読み方と一致しています。NSMenuItem.imageのコメントには「in macOS 27 and later, AppKit determines the visibility of menu item images, and will typically hide images.」(macOS 27以降はAppKitがメニュー項目画像の表示を決め、通常は隠す)とあります。3 - ジェスチャが排他的になる。 “Only the initial hit-tested view hierarchy will activate gesture recognizers until all gestures terminate. A new
exclusiveGestureBehaviorproperty onNSViewallows you to opt-out of this exclusive behavior on a per-view-hierarchy basis. Further, theInfo.plistkeyNSViewGestureRecognizerIsExclusiveallows you to opt-out for the entire app.”(すべてのジェスチャが終わるまで、最初にヒットテストされたビュー階層だけがレコグナイザを起動する。exclusiveGestureBehaviorでビュー階層ごとに、NSViewGestureRecognizerIsExclusiveでアプリ全体でオプトアウトできる)対になるキーNSGestureRecognizerSuppressesMainMenuActionsを使うと、ジェスチャの最中でもメインメニューのアクションを発火させられます。また「stuck gestures are automatically cancelled after user input has ended for a few seconds,」(ユーザー入力が終わって数秒たつと、固まったジェスチャは自動でキャンセルされる)とあり、デバッグ中にこれをクラッシュにするデフォルトNSCrashOnStuckGestureTimeoutも用意されています。親ビューのレコグナイザが子ビューのものと一緒に発火していた構成では、親が待たされるようになります。 - カスタムレコグナイザは自分の位置を返す必要がある。 修正済みとして記載されています。基底の
NSGestureRecognizerのlocationInView:は”now returnsNSZeroPointand logs an error pointing the developer at the missing override. CustomNSGestureRecognizersubclasses must provide their ownlocationInView:implementation.”(NSZeroPointを返し、欠けているオーバーライドを指摘するエラーをログに出す。カスタムサブクラスは自前の実装が必要)という内容です。別のエントリは、診断用のデフォルトNSGestureRecognizerCrashOnMissingOverridesを”to help developers findNSGestureRecognizersubclasses that are missing required overrides to ensure that they always reach a terminal state”(必ず終了状態に達するために必要なオーバーライドを欠くサブクラスを見つける助け)として提供すると述べていますが、これがlocationInView:の欠落も捕まえるのかどうか、ノートには書かれていません。さらにNSClickGestureRecognizersは「with a click count greater than 1 will send an action before their multi-click timeout has elapsed.」(クリック数が2以上のものは、マルチクリックのタイムアウトを待たずにアクションを送る)とされています。 launchdと隔離属性。 修正済みとして記載されています。”launchdno longer supports loadinglaunchdproperty list files with the quarantine extended attribute.”(隔離の拡張属性が付いたプロパティリストファイルを読み込まなくなった)Appleの修正済みエントリは、古いバグを書いていることもあれば新しい規則を書いていることもあります。規則として読むなら、隔離属性付きのままインストールされたダウンロード由来のエージェントのplistは、読み込まれなくなります。- TCC。 非推奨の項に「Apps can no longer access the local TCC database directly.」(アプリはローカルのTCCデータベースに直接アクセスできなくなった)とあります。
- コンテナとXProtect。 System Integrity Protectionの項に「Accessing files in other developer teams’ app data containers and app group containers no longer prompts the user for authorization; such accesses are denied by default and can be managed by the user in Privacy & Security settings.」(他の開発チームのアプリデータコンテナやApp Groupコンテナへのアクセスでユーザーに許可を求めなくなり、デフォルトで拒否され、Privacy & Securityの設定でユーザーが管理する)とあります。さらに「XProtect may now restrict access to app data that is commonly targeted by malicious software.」(マルウェアに狙われやすいアプリデータへのアクセスをXProtectが制限できる)とも書かれています。Privacy & Securityの既知の問題は「a process without a bundle ID cannot be granted access to specific app data containers or app group containers owned by other developer teams,」(バンドルIDを持たないプロセスには、他チームが所有する特定のコンテナへのアクセスを許可できない)と付け加えており、代替手段はFull Disk Accessです。
- 管理系通信のTLS。 「Starting in 27.0 operating systems, select system processes now enforce stricter network security (TLS) requirements,」(27.0以降、一部のシステムプロセスがより厳しいTLS要件を課す)として、MDM、DDM、Automated Device Enrollment、プロファイルのインストール、アプリのインストール、ソフトウェアアップデートを挙げています。「Servers must support TLS 1.2 at minimum, using cipher suites and certificates that meet App Transport Security (ATS) requirements.」(サーバーは最低でもTLS 1.2に対応し、ATSの要件を満たす暗号スイートと証明書を使う必要がある)チェックリストはTLSの監査記事にあります。
- Rosetta。 「On launch, Applications previously set to “Open using Rosetta” by a user will have the application launch natively,」(ユーザーが以前「Open using Rosetta」に設定したアプリも、起動時にネイティブで起動する)「If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0,」(以前インストールされていたRosettaは、27.0へのアップグレード後に自動では復元されない)そして
hostArchitectureを指定しないインストーラパッケージは「will now default to arm64.」(arm64がデフォルトになる)とされています。インストーラのデフォルトはGAの記事で26.6.2上で再現しました。 - バックグラウンドのNeural Engine。 このエントリはmacOSのページにありながら「iOS 27 includes Neural Engine improvements for Apple Intelligence capable devices」で始まるので、プラットフォーム共通の注記として読むべきでしょう。「The system now restricts background access to the Neural Engine, similar to GPU usage restrictions,」(GPUの利用制限と同様に、バックグラウンドからのNeural Engineへのアクセスを制限する)そして「Neural Engine memory usage is now attributed to your app process instead of the system, and appears in the Allocations instrument.」(Neural Engineのメモリ使用量はシステムではなくアプリのプロセスに計上され、Allocationsインストゥルメントに表示される)とあります。Core AIの別のエントリは、バックグラウンドアクセスには「requires the new entitlement: “com.apple.developer.background-tasks.continued-processing.inference”.」(新しいエンタイトルメントが必要)と述べています。
- ログアーカイブ。 「Unified Logging System archives generated on 27.0 releases cannot be read on macOS 26.1 or earlier due to an updated archive format. macOS 26.2 or later is required to read these archives.」(27.0で生成したアーカイブはフォーマット更新のためmacOS 26.1以前では読めず、26.2以降が必要)顧客の
.logarchiveバンドルを古いMacで開くサポート体制なら、少なくとも26.2が必要です。 - ファイルプロミスがアサートする。 修正済みとして記載されています。
receivePromisedFilesAtDestination:は”asserts that it is called during-prepareForDragOperation:,-performDragOperation:, or-concludeDragOperation:. IfreceivePromisedFilesAtDestination:...is called at other times, your application will throw an exception and terminate.”(これらのドラッグ処理の最中に呼ばれることをアサートし、それ以外のタイミングで呼ぶと例外を投げて終了する)呼び出しを後のランループへ先送りしていた受け手は、終了するようになります。
27.0で非推奨になったAPIはどれか?
ノートには、11の領域にわたって非推奨の見出しの下に13件のエントリがあります。リリースノートの非推奨は文章ですが、SDKの非推奨はコンパイラが読む可用性の注釈であり、両者が常に同じことを言うとは限りません。私は各エントリを、Xcode 27に入っているmacOS 27.0 SDKのヘッダとSwiftインターフェースと照合しました。23
| ノートのエントリ | SDKの記述 |
|---|---|
“The originalFilename property on PHAssetResource is incorrectly marked as non-nullable, which misrepresents the property value; a new, nullable filename property is available as a replacement.”(誤ってnon-nullableとされていたので、nullableなfilenameで置き換える) |
PHAssetResource.hにAPI_DEPRECATED("Use filename instead", ios(9, 27), macos(10.15, 27), tvos(10, 27), visionos(1, 27)) |
“The FileDocument protocol is deprecated. Use ReadableDocument for read-only documents or Document for documents that support reading and writing.” |
FileDocumentに@available(macOS, introduced: 11.0, deprecated: 100000.0, message: "Conform your type to Document instead.")。ソフトな非推奨で、現時点では警告なし。ReadableDocument、WritableDocument、Documentはいずれもインターフェースに存在 |
“The calendar.deleteEvents schema has been renamed to calendar.deleteEvent.” |
macOSのAppIntentsインターフェースでdeleteEventsは0回、deleteEventは1回出現。エイリアスのない改名なので、旧名を使っていればコンパイルエラー |
“The DVDPlayback framework has been removed from the macOS 27 Golden Gate SDK and apps cannot build against it. The framework will be removed in a future macOS release.”(SDKから削除されビルドできない、将来のmacOSでフレームワーク自体も削除される) |
ディスク上のSDKからは削除されていない。MacOSX27.0.sdk/System/Library/Frameworks/DVDPlayback.frameworkには、x86_64-macos、arm64e-macos、arm64e.x1-macosをターゲットとし223種類の_DVDシンボルをエクスポートする.tbd、Headersフォルダ、モジュールマップがある。import DVDPlaybackはデプロイメントターゲット26.0では型チェックを通り、DVDInitialize()に「deprecated in macOS 10.15」の警告が出る。ターゲット27.0では同じ呼び出しがエラー「unavailable in macOS: No longer supported」になる。つまり「cannot build against it」は27.0のフロアでは可用性によって成り立つが、スタブはまだ残っている |
| 「Encrypted HFS+ (CoreStorage) is deprecated and will not be supported in a future version of macOS.」 | APIではなくファイルシステムのフォーマット。暗号化APFSにバックアップを |
| 「Apps can no longer access the local TCC database directly.」 | 注釈ではなく、OSが強制するポリシー |
| 「Apps built with the latest SDK must adopt the scene-based life cycle or they fail to launch.」(UIKitなのでMac Catalystが対象) | 警告ではなく起動失敗 |
| 「If Rosetta was previously installed, it is not automatically restored after upgrading to macOS 27.0.」 | OSの挙動 |
“Installer packages which specify no hostArchitecture will now default to arm64.” |
OSの挙動。GAの記事で26.6.2上で再現済み |
| 「Intel-based plugins and loaders may not appear in Settings or trigger notifications of their incompatibility. All Intel-based software will no longer be compatible with macOS 28.0, excluding legacy games.」(Intel向けプラグインは設定に表示されず非互換の通知も出ないことがあり、macOS 28.0ではレガシーゲームを除くすべてのIntel向けソフトウェアが非対応になる) | OSの挙動。Appleが挙げるプラグインフォルダは~/Library/Audio/Plug-Ins/*、~/Library/Printers/、~/Library/ColorPickers/ |
| 「AirPort Utility is no longer included with new clean installations of macOS.」 | APIではなくアプリ |
“Meshes compressed using the USDKit export API or usdcrush tool in Beta 1 cannot be decoded by Beta 2, and meshes from Beta 2 cannot be decoded by Beta 1.” |
ベータ間の注記が、GAのページまで残ったもの |
| 「Weather Highlights is currently only available in US English.」 | Appleは非推奨の項に置いているが、提供範囲に関する注記として読める |
非推奨の見出しの外に、ソフトな非推奨が1件あります。iOSのノートにもあるのと同じものです。.roundedBorderはmacOSでdeprecated: 100000.0となり、メッセージは”Use textFieldStyle(.bordered) with textInputBorderShape(.roundedRectangle)“で、TextInputBorderShapeを導入する新機能のエントリと対応しています。3
ハードな非推奨は、見た目ほど騒がしくありません。コンパイラは非推奨のバージョンをSDKではなくデプロイメントターゲットと比べるので、macos(10.15, 27)が警告を出すのは最小macOSが27.0のターゲットだけです。originalFilenameを読み、型をFileDocumentに準拠させ、.roundedBorderを適用する1つのファイルを、27.0 SDKに対して2つのターゲットで型チェックしました。arm64-apple-macos26.0では診断がまったく出ずにコンパイルでき、arm64-apple-macos27.0ではちょうど1件、'originalFilename' was deprecated in macOS 27: Use filename insteadが出ました。FileDocumentと.roundedBorderはどちらのターゲットでも無音でした。3 現実的なフロアを持つMacアプリは、これらのどれについてもコンパイラから知らされません。知らせてくれるのは、後述のチェックリストにあるgrepです。
新機能のうち、既存コードに影響するものは?
Macでもプルして更新。 “In macOS 27.0, AppKit adds NSRefreshController, providing pull-to-refresh functionality for NSScrollView. You can set it with NSScrollView.refreshController, configure a target or action to handle user-initiated refreshes, and call endRefreshing when the refresh completes or beginRefreshing to start one programmatically.”(NSScrollViewにプルして更新の機能を加え、ターゲットかアクションで更新を受け、完了時にendRefreshing、プログラムから始めるときはbeginRefreshingを呼ぶ)このクラスとNSScrollViewのrefreshControllerプロパティは、SDKではどちらもAPI_AVAILABLE(macos(27.0))です。23
ジェスチャによるテキスト選択。 “NSTextSelectionManager provides common text selection interactions (click, drag, shift-click, double/triple-click word/line/paragraph selection) to a NSView with a set of NSGestureRecognizers rather than overriding NSEvent mouse methods. NSTextView now uses NSTextSelectionManager“(NSEventのマウスメソッドをオーバーライドする代わりに、ジェスチャレコグナイザの組で一般的なテキスト選択操作を提供し、NSTextViewもこれを使う)とあり、”Existing NSTextView subclasses that override mouseDown: continue to work through a binary-compatible fallback path.”(mouseDown:をオーバーライドする既存のサブクラスは、バイナリ互換のフォールバック経路で動き続ける)とも書かれています。クラスはmacos(27.0)です。23 先ほどの排他性の規則と組み合わせると、mouseDown:をオーバーライドするカスタムテキストビューは動き続けますが、その横に付けたジェスチャレコグナイザは、マネージャのレコグナイザに譲るようになるかもしれません。
タブのためのロール。 NSToolbarItemGroupとNSSegmentedControlにroleプロパティが加わり、どちらもAPI_AVAILABLE(macos(27.0))です。NSToolbarItemGroup.Role(automatic、tabs、valueSelection)とNSSegmentedControlRoleが伴います。ノートによれば、tabsロールは「read by VoiceOver as “tabs”」(VoiceOverがタブとして読み上げる)もので、「a distinct visual appearance.」(独自の見た目)を持ちます。SwiftUIのTabsPickerStyleも同じ考え方で、インスペクタはリビルド時に自動でこれを採用します。23
Hot Cornersを無効に。 “NSApplication.presentationOptions now includes the .disableScreenCornerInteractions option, which you can use to disable Hot Corners.”(Hot Cornersを無効にするオプションが加わった)ヘッダではNSApplicationPresentationDisableScreenCornerInteractionsで、API_AVAILABLE(macos(27.0))、オプションマスクのビット15です。その上のコメントには”.autoHideDock or .hideDock must also be set for this option to take effect.”(このオプションを効かせるには.autoHideDockか.hideDockも設定する必要がある)とあります。23
ドキュメントの書き直し。 “In apps built with the 27.0 SDKs, the new ReadableDocument and WritableDocument protocols support asynchronous reading and writing, progress reporting, and direct access to document URLs,”(新しいプロトコルが非同期の読み書き、進捗報告、ドキュメントURLへの直接アクセスに対応する)とあり、Documentがこの2つを兼ね、FileDocumentとReferenceFileDocumentは「now deprecated.」とされています。続く3件のエントリは既存の準拠を変えます。FileWrapperDocumentWriterのmakeFileWrapperクロージャは”now receives a second argument, previous: FileWrapper?,”(2番目の引数を受け取る)ようになり、”Existing call sites must update their closures to accept the new parameter”(既存の呼び出し箇所はクロージャを更新する必要がある)とされます。read(from:progress:)とwrite(content:to:previous:progress:)の要件は”declared with @concurrent instead of nonisolated,「となったので、」Conforming types that previously used nonisolated should switch to @concurrent to match”(nonisolatedを使っていた準拠型は@concurrentへ切り替える)とあります。そしてURLDocumentConfigurationは”no longer conforms to Sendable.”です。fileExporterのオーバーロードにより、WritableDocumentの値のコレクションを1つのダイアログで書き出せます。同じ領域の既知の問題は、進捗が「might not be presented.」(表示されないことがある)というものです。2
画像、枠線、スライダー、メニュー。 “AsyncImage now automatically caches downloaded images using HTTP caching protocols,”(ダウンロードした画像をHTTPのキャッシュ規約で自動キャッシュする)とあり、制御にはURLRequestのイニシャライザとView.asyncImageURLSession(_:)を使います。TextInputBorderShapeとtextInputBorderShape(_:)が.borderedスタイルとともに登場します。”On macOS, the Slider implementation no longer uses NSSlider,”とあり、枠付きのMenuとPickerのボタンも”no longer use NSPopUpButton in their implementation,”とされるので、下にAppKitのコントロールがあると想定したカスタム描画やアクセシビリティのコードは、何も見つけられなくなります。GeometryProxyにはconcentricCornerRadiiとconcentricCornerRadii(in:)が加わりました。データ項目を取るalertとconfirmationDialogの修飾子は、macOS 12.0までさかのぼって使えるようになりました。2
StoreKit。 “Offer code redemption APIs now return a VerificationResult when redemption completes,”(オファーコードの引き換えAPIが、完了時にVerificationResultを返す)とあり、Transaction.OwnershipType.assignedとTransaction.RevocationType.assignmentRevokedが”support volume purchases,”(数量購入に対応する)とされ、”Transaction query methods now additionally return transactions assigned to the Managed Apple Account.”(Managed Apple Accountに割り当てられたトランザクションも返す)と続きます。Product.ProductTypeにはサブスクリプションのBundleとSuiteがProduct.SubscriptionInfo.BundledSubscriptionとともに加わり、Advanced Commerceの情報にはpartnerNameとpartnerIdが入ります。インターフェースにはassignedとBundledSubscriptionがありますが、取り消しのケースはノートの綴りどおりではありません。SDK内のどのファイルにもassignmentRevokedは含まれておらず、StoreKitのインターフェースはTransaction.RevocationTypeにpublic static var assignmentRevocationを宣言し、生の値はASSIGNMENT_REVOKEです。このケースは@available(macOS 26.4, *)かつ@backDeployed(before: macOS 27.0)なので、.assignmentRevocationは27.0のターゲットで型チェックを通り、それより低いフロアではif #available(macOS 26.4, *)が必要です。ノートの名前のほうは、どのターゲットでも解決先のメンバーがありません。所有タイプでトランザクションを絞り込むMacアプリには、3つめの値が現れます。23
Swiftのstat。 “System now provides Swift APIs for the C stat, lstat, fstat, and fstatat system calls,”(Cのこれらのシステムコールに対するSwift APIを提供する)とあり、Stat型とFilePath.stat()が加わります。ノートには修正済みとして衝突の件も載っており、”Custom FilePath or FileDescriptor extensions that make unqualified calls to stat() or stat(_) (without the Darwin. qualification) might conflict with the new Swift stat() instance methods.”(Darwin.で修飾せずにstat()を呼ぶ独自の拡張が、新しいインスタンスメソッドと衝突することがある)とあります。public struct StatはSystemのインターフェースにあります。23
ディスクイメージ、仮想マシン、Gatekeeper。 “The new DiskImageKit framework provides Swift APIs for creating and managing standalone and stacked disk images in the Apple Sparse Image Format (ASIF) and raw disk image formats, for use with the Virtualization framework via VZDiskImageStorageDeviceAttachment.”(ASIFとrawフォーマットの単体およびスタック型ディスクイメージを作成・管理するSwift APIで、VZDiskImageStorageDeviceAttachmentを介してVirtualizationで使う)このフレームワークはSDKにあります。Virtualizationのvmnetのポートフォワーディングは「now support[s] port forwarding when communicating over loopback,」(ループバック経由の通信でもポートフォワーディングに対応する)とされ、spctlには「which will clean up Gatekeeper database entries for apps and executables which are no longer mounted.」(もうマウントされていないアプリや実行ファイルのGatekeeperデータベースのエントリを掃除する)purgeコマンドが加わります。VMをスクリプトで扱う人にとって、ディスクイメージのAPIが効いてくるのはコンテナの記事です。23
ゲームコントローラ、ビデオ、Metal。 「The PlayStation® Access™ controller is now supported on macOS, iPadOS, and iOS.」 VTLowLatencySuperResolutionScalerConfigurationは「now supports a 1.5x scale factor,」とされ、フレーム補間は「supports arbitrary source dimensions up to 1080p.」(1080pまでの任意のソースサイズに対応)となりました。Metalの修正2件は、clamp-to-edgeのサンプラーがゼロを返す件で、うち1件は「the Apple 10 GPU family.」に固有のものです。2
Foundation。 NSURLの修正は、iOSのノートと同じ文言でここにも載っています。”+[NSURL URLWithString:] no longer double-encodes the % of valid percent-escape sequences when encoding other invalid characters.”(ほかの無効な文字をエンコードするとき、正当なパーセントエスケープの%を二重エンコードしなくなった)iOSの記事では、この修正がコードを実行するOSに従うこと、そして同じコードのMacビルドがmacOS 26.6.2ではまだ旧来の%2520を出力したことを示しました。27.0では新しい結果、26.xではどれも古い結果になると見込んでください。2
ハードウェアセキュリティ。 「arm64e.x1 introduces additional hardware security and performance instructions, including CPA2 for stronger MIE protection,」(MIEの保護を強めるCPA2を含む、追加のハードウェアセキュリティと性能の命令を導入する)とあり、対象は「Mac computers with M6 or later chips」です。上で触れたDVDPlaybackスタブのターゲット一覧に、このスライス名が実際に現れています。ビルド設定についてはarm64e.x1の記事をご覧ください。23
計画に織り込むべき既知の問題
photos.assetのエンティティがコンパイルできなくなる。 「Existing entities that conformed to @AppEntity(schema: .photos.asset) in prior releases might no longer compile in the 27 SDKs because new properties were added to the schema in this release.」(スキーマに新しいプロパティが加わったため、以前のリリースで準拠していたエンティティが27 SDKではコンパイルできないことがある)回避策は、それらのプロパティを可用性チェックの内側で採用することです。メタデータプロセッサが要求する12のプロパティはiOSのノートの記事に一覧があり、macOSのノートにも同じエントリがあります。2- オーディオのスキーマとSiri。 「If you adopt the Audio App Schema domain, you might have trouble playing your content using Siri.」(Audio App Schemaのドメインを採用すると、Siriでコンテンツを再生しにくいことがある)回避策は「Adopt an IntentValueQuery that takes the AudioSearch input, or index your entities in Spotlight.」(AudioSearchの入力を取るIntentValueQueryを採用するか、エンティティをSpotlightにインデックスする)です。2
SpotlightSearchToolがオンデバイスモデルからあふれる。 構成がないと「the tool’s description and parameter schema alone exceed the on-device model’s context window before any prompt is added」(プロンプトを足す前から、ツールの説明とパラメータのスキーマだけでオンデバイスモデルのコンテキストウインドウを超える)とされ、解決策は.focused(.documents)のような絞り込んだガイドです。2- バンドルを持たないプロセスとFiles & Folders。 バンドルIDを持たないプロセスは「cannot be granted access to specific app data containers or app group containers owned by other developer teams,」とされ、Appleの回避策は「for the duration of the requirement.」(必要な間だけ)Full Disk Accessを与えることです。別のアプリのコンテナを読むコマンドラインツールがこれに当たります。2
- 署名のないSafari機能拡張。 開発中、「unsigned extensions might not appear until rebuilt when using the “Allow Unsigned Extensions” checkbox.」(「Allow Unsigned Extensions」チェックボックスを使っていても、署名のない機能拡張はリビルドするまで表示されないことがある)2
- StoreKitのテスト。 “Changing the storefront or locale using
SKTestSessiondoesn’t propagate throughStorefront.updates,”(SKTestSessionでストアフロントやロケールを変えてもStorefront.updatesに伝わらない)そして失敗した購入が”might display error dialogs even whendialogsDisabledis set to true.”(dialogsDisabledがtrueでもエラーダイアログを表示することがある)の2件です。どちらも27.2 beta 2のノートでは修正済みとなり、新たに1件加わりました。バンドル内のサブスクリプションの購入が「incorrectly allows the user to unbundle instead of throwing an error.」(エラーを投げる代わりに、誤ってバンドルの解除を許してしまう)というものです。24 - Shortcuts。
DurationやLPLinkMetadataを使うインテントが「Describe a change」で「might fail」(失敗することがある)とされ、2つの数値型を持つUnionValueパラメータは選択肢を2回表示します。1つだけ宣言してください。2 - macOS 11からの起動ディスク。 「When a Mac is running macOS 11.0, you might not be able to select the boot volume of macOS 27.0 or later as the startup disk in System Settings.」(macOS 11.0を実行中のMacでは、System SettingsでmacOS 27.0以降の起動ボリュームを起動ディスクに選べないことがある)回避策は、電源ボタンからの起動ピッカーです。2
- Siri、6件。 検索後の写真の選択、Siriがオフなのに「Ask Siri」が現れる件、特定の写真に対する音声コマンドがない件、不完全なマップのスニペット、アルバム追加の件数、そしてサードパーティアプリのSiriの結果にSF Symbol以外のエンティティ画像が表示されない件です。最後の1件は、エンティティにカスタム画像を持たせているなら確認すべきものです。2
私が実行できなかったこと
このMacはmacOS 26.6.2で動いており、27のマシンは今も手元にありません。この記事にあるOSレベルの挙動はすべてAppleの文言であり、引用として示し、そう明記しています。macOS 27のシステムが何かをしたと私が見て書いた箇所は、上には1つもありません。私が実行できたのはSDKです。Xcode 27(27A266a)は、インストールできるMacならどれにでもmacOS 27.0 SDK(26A425)を持ち込むので、ヘッダの注釈、Swiftインターフェース、フレームワークのフォルダ、そして3回の型チェック実行は実物で、日付は9月26日です。SDKとノートが食い違う2箇所、DVDPlaybackのスタブと取り消しケースの綴りについては、27のマシンが実行時に何をするかの主張としてではなく、SDKが示すものとして報告しています。3
今週私ならこうする
- Xcode 27から一度アーカイブし、公証の前に上の「27にリンクしたとき」の一覧をアプリに当ててください。メニュー項目の画像、コンテンツタイプを設定するオープンパネル、
NSTextViewのコンテキストメニューをたどるコード、タイトルバーのアクセサリ、そしてコントロール修飾子を受け継いでいたシートです。2 - ユーザーより先に、27のマシンでジェスチャをテストしてください。子ビューのものと一緒に発火していた親ビューのレコグナイザは排他的になり、
locationInView:を持たないカスタムのNSGestureRecognizerサブクラスは原点を返してログを出します。AppKitが出すとAppleが述べているそのエラーをコンソールで見張ってください。NSGestureRecognizerCrashOnMissingOverridesのデフォルトは終了状態に達しないサブクラス向けと説明されており、ノートはそれがlocationInView:にも及ぶとは書いていません。2 originalFilename、FileDocument、ReferenceFileDocument、.roundedBorder、deleteEvents、import DVDPlaybackをgrepしてください。最初のものは27.0のターゲットでだけ警告し、続く3つはソフトで無音、deleteEventsはもう存在せず、import DVDPlaybackはフロアを27.0に上げた日にエラーになります。3- ダウンロード経由でエージェントやデーモンを配布しているなら、インストール時にプロパティリストから隔離属性を取り除くか、隔離属性が付かない経路でインストールしてください。Appleのノートは、27の
launchdがそうしたファイルを読み込まなくなったと記載しています。2 - 他チームのコンテナを読んでいるなら、そのコードを取り除くか、Full Disk Access経由にしてください。プロンプトはもうなく、デフォルトは拒否です。2
- バグ報告には両方の場所のビルド番号を記録してください。マシン上の
ProcessInfoと、ビルド用MacにあるSDKのSystemVersion.plistです。両者は26A428と26A425で異なり、一方に入っている修正がもう一方に入っているとは限りません。3
よくある質問
macOS 27はいつ公開され、ビルド番号は何ですか?
2026年9月14日(月)に、ビルド26A428として公開されました。Appleのリリースフィードでは、Xcode 27や他の27.0の各システムと並んで掲載されています。Xcode 27内のSDKは、自身を26A425と名乗ります。13
macOS 27.0.1は出ていますか?
2026年9月26日時点では出ていません。AppleのmacOSリリースノート索引には「macOS 27 Golden Gate Release Notes」と「macOS 27.2 Golden Gate Beta 2 Release Notes」が並び、その間には何もありません。リリースフィードにも、どのプラットフォームの27.0.1もありません。公開されたら、この記事に日付入りの注記を加えます。17
macOS 27のリリースノートはどこにありますか?
Appleの開発者ドキュメントサイトのmacOS Release Notesの下にあり、リリースごとに1ページで、見出しは「macOS 27 Golden Gate Release Notes」です。86の領域があり、最初がGeneral、続いてAccessory AccessからXQuartzまで並びます。27.2ベータのノートは別の、ずっと短いページです。24
macOS 27で非推奨になったものは何ですか?
非推奨の見出しの下にある13件です。PHAssetResource.originalFilename、FileDocument、calendar.deleteEventsの改名、DVDPlaybackフレームワーク、暗号化HFS+、TCCデータベースへの直接アクセス、Catalystのシーンライフサイクル義務化、Rosetta関連の3件、クリーンインストールでのAirPortユーティリティ、USDKitのベータに関する注記、そしてWeather Highlightsの言語に関する注記です。APIに当たるのは最初の4件だけです。originalFilenameはデプロイメントターゲットが27.0のときだけ警告が付き、FileDocumentは無音のまま、deleteEventsはコンパイルに失敗し、DVDPlaybackは27.0未満のフロアでは警告、27.0では失敗します。23
macOS 27のためにアプリをリビルドする必要はありますか?
いいえ。そして、挙動の一部を変えるのはむしろリビルドのほうです。「27にリンクしたとき」のエントリは27 SDKでアーカイブしたときにだけ発火します。一方、ジェスチャ、launchd、TCC、コンテナ、TLS、Rosettaの変更は、リビルドの有無にかかわらず27のマシン上のすべてのバイナリに適用されます。また、macOS 26.0以降でリンクしたアプリは、そこですでにメニューのシンボル画像を失います。2
DVDPlaybackはSDKから消えたのですか?
ディスク上の27.0 SDKからは消えていません。フレームワークのフォルダ、その.tbd、ヘッダ、モジュールマップは、Xcode 27のMacOSX27.0.sdkにすべて存在します。関数はデプロイメントターゲット27.0で利用不可、それより下では10.15から非推奨とマークされています。したがって27.0のフロアを持つプロジェクトはこれに対してビルドできず、それはノートの言うとおりです。フロアが低いプロジェクトは、警告付きでまだビルドできます。3
macOS 27でMac Catalystの何が変わりましたか?
シーンライフサイクルの義務化が適用されます。macCatalyst 27 SDKでリンクしたときはUIScene.extendStateRestorationとcompleteStateRestorationが使えます。Catalystアプリはウインドウがない状態で切り替えられたとき、DockかSpotlightから起動されない限りウインドウを作らなくなります。UIStepperはMacのイディオムで動作し、サイドバーのツールバーボタンが消える件は修正済みとされています。Xcode 27.2ベータのノートは、そこでのmacOS SDKが「incorrectly report[s] 27.1 as a valid deployment target,」(27.1を有効なデプロイメントターゲットと誤って報告する)こと、そして27.1や27.2でのCatalystビルドが「may be unable to use newly introduced API.」(新たに導入されたAPIを使えないことがある)ことに注意を促しています。25
出典
-
Apple、Releases、2026年9月26日に取得したRSSフィード。2026年9月14日(月)付けで「macOS 27.0 (26A428)」と「Xcode 27 (27A266a)」、2026年9月21日(月)付けで「macOS 27.2 beta 2 (26B5091g)」。最新の項目である9月24日付けの「TestFlight 4.4.0」まで、どのプラットフォームにもmacOS 27.0.1の項目はない。 ↩↩↩↩↩↩↩
-
Apple、macOS 27 Golden Gate Release Notes、2026年9月26日に取得。引用したエントリをradar番号で示します。AppKit 170477566、177605020、180962967、6938919、173975472、176048351、176395420、179374305、179936632、160867808、162577742、163365571。App Intents 176751155、181800016、177198033。NSGestureRecognizer 173551081、175705302、176396492。NSApplication 168692527。SwiftUI 105893279、158160386、158441552、158441261、177458781、167448274、165913417、175594929、170678002、174628712、180300890、180301399、180302015、180302075、178776840、86580365、151015350、173362083、173990195、68559433、78212597、177185166、179388848、170480710、180301165。UIKit 141837548、161843040、170479084。Mac Catalyst 69906818、57819435、176879915。Launch Daemons and Agents 166415497。TCC 90775556。System Integrity Protection 161835690、178668601。Privacy & Security Settings 184660124。Network Security 176055825。Rosetta 168097174、163213094、171187112、176042635。Core AI 174796039、179282606。Apple Unified Logging System 160567675。PhotoKit 175412725。CoreStorage 175892420。DVDPlayback 179136240。AirPort Utility 158248382。USDKit 177417812。Weather Highlights 164408676。StoreKit 141012819、156749517、160501742、167808780。StoreKit Testing in Xcode 184155259、184255116。System 160612181、177911316。Disk Images 177868758。Virtualization 64203273。Gatekeeper 123097648。Game Controller 168071382。VideoToolbox 177635243、179040806。Metal 172520325、177318505。Foundation 161588649。Hardware Security 152103975。Swift Charts 174168981。Core Spotlight 183770678。Safari 183044008。Shortcuts 166068090、168315587。Startup Disk 166640903。Siri 171728298、176299524、176812955、177116121、177376984、177984074。件数(86領域。新機能68件、解決済みの問題173件、既知の問題18件、非推奨13件)は、各見出しの下のリスト項目を筆者が数えたものです。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
macOS 26.6.2で動くMac上で、Xcode 27(27A266a)内のmacOS 27.0 SDKを筆者が調べた結果、2026年9月26日。
MacOSX27.0.sdk/System/Library/CoreServices/SystemVersion.plistはProductBuildVersion26A425、ProductVersion27.0を報告。PHAssetResource.hはoriginalFilenameにAPI_DEPRECATED("Use filename instead", ios(9, 27), macos(10.15, 27), tvos(10, 27), visionos(1, 27))を持つ。arm64e-apple-macosのSwiftUIインターフェースはFileDocumentに@available(macOS, introduced: 11.0, deprecated: 100000.0, message: "Conform your type to Document instead.")を、roundedBorderにdeprecated: 100000.0とtextFieldStyle(.bordered)のメッセージを持つ。macOSのAppIntentsインターフェースにはdeleteEventが1回、deleteEventsが0回出現。DVDPlayback.frameworkにはDVDPlayback.tbd(223種類の_DVDシンボル。ターゲットはx86_64-macos、arm64e-macos、arm64e.x1-macos)、Headers/DVDPlayback.h、Modules/module.modulemapがある。DVDPlaybackをインポートしてDVDInitialize()を呼ぶファイルのswiftc -typecheckは、-target arm64-apple-macos26.0で「warning: ‘DVDInitialize()’ was deprecated in macOS 10.15: No longer supported」を、-target arm64-apple-macos27.0で「error: ‘DVDInitialize()’ is unavailable in macOS: No longer supported」を出力。originalFilenameを読み、FileDocumentに準拠し、.roundedBorderを適用するファイルのswiftc -typecheckは、-target arm64-apple-macos26.0では診断なし、-target arm64-apple-macos27.0では警告1件「’originalFilename’ was deprecated in macOS 27: Use filename instead」を出力。NSRefreshController.hとNSTextSelectionManagerのインターフェースはAPI_AVAILABLE(macos(27.0))。NSToolbarItemGroup.hはNSToolbarItemGroupRoleをNS_SWIFT_NAME(NSToolbarItemGroup.Role) API_AVAILABLE(macos(27.0), ios(27.0))で宣言し、roleプロパティはAPI_AVAILABLE(macos(27.0))で、NSSegmentedControl.hも同様。NSMenuItem.hはpreferredImageVisibilityをAPI_AVAILABLE(macos(27.0))で宣言。NSGestureRecognizer.hはcancellableByScrollGestureをAPI_AVAILABLE(macos(27.0))で宣言。NSApplication.hはNSApplicationPresentationDisableScreenCornerInteractionsをAPI_AVAILABLE(macos(27.0))、値はマスクのビット15として宣言。DiskImageKit、NowPlaying、AccessoryAccessのフレームワークフォルダが存在。Systemのインターフェースはpublic struct Statを宣言。Chartのクロージャ内でifによってBarMarkとLineMarkに分岐するファイルのswiftc -typecheckは、-target arm64-apple-macos26.0でも-target arm64-apple-macos27.0でも診断なし。StoreKitのインターフェースはassignedとBundledSubscriptionを含み、Transaction.RevocationTypeに生の値ASSIGNMENT_REVOKEを持つpublic static var assignmentRevocationを宣言する一方、SDK内のどのファイルにもノートのassignmentRevokedは含まれない。このケースは@available(iOS 26.4, macOS 26.4, tvOS 26.4, watchOS 26.4, visionOS 26.4, *)かつ@backDeployed(before: iOS 27.0, macOS 27.0, tvOS 27.0, watchOS 27.0, visionOS 27.0)で宣言。ReferenceFileDocumentは@available(macOS, introduced: 11.0, deprecated: 100000.0, message: "Use Document protocol instead.")を持つ。NSScrollView.hはrefreshControllerをAPI_AVAILABLE(macos(27.0))で宣言。NSMenuItem.hのimageに対するコメントは「in macOS 27 and later, AppKit determines the visibility of menu item images, and will typically hide images」。 ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple、macOS 27.2 Golden Gate Beta 2 Release Notes、2026年9月26日に取得。General 186939138、AppKit 186955507、Notifications 187312007、Shortcuts 187499433、StoreKit Testing in Xcode 183933307、184155259、184255116、186018916を引用。 ↩↩↩
-
Apple、Xcode 27.2 Beta Release Notes、2026年9月26日に取得。SDK、Known Issues(187160501)を引用。 ↩
-
Apple、App Store Connect release notes、2026年9月26日に取得。2026年9月14日のエントリで、表の中に全文を引用。 ↩
-
Apple、macOS Release Notes、2026年9月26日に取得した索引。27のエントリは「macOS 27 Golden Gate Release Notes」と「macOS 27.2 Golden Gate Beta 2 Release Notes」。 ↩↩↩