macOS 10.15 Catalina
Xcode編集
Xcode 11 必須
macOS Mojave 10.14からの変更点編集
i386が廃止編集
i386(x86)が廃止され、x86-64(x64)が必須となった。 つまり完全に64ビット化され、32ビットのアプリやライブラリは一切動かなくなった。
i386のコードが含まれたアプリを実行しようとすると「EBADARCHエラーコード」を吐く。
AppleEventのセキュリティが強化編集
AppleEventのセキュリティが強化され、リモートAppleEventの対象が「同一ユーザーで動いていること」という制限が加わった。 別ユーザーとして実行されているアプリを対象とするリモートAppleEventを発行すると「procNotFoundエラー」を吐く。
この制限は無効化することができる。 無効化するには、まずターミナルを開いて以下のコマンドを打ち込む。
defaults write /Library/Preferences/com.apple.AEServer RestrictAccessToUserSession -bool false
すると「システム環境設定」の「共有」の中にリモートAppleEventの設定項目が増える。
オーディオ関連がAVFoundationに一本化編集
オーディオ関連はAVAudioEngineに一本化された。 これに伴いAVFoundationのAVAudioEngineが大幅強化されている。
一方で、 OpenALが非推奨となった。 AUGraphも廃止。 Inter-App Audioも廃止。 Carbon時代のオーディオ関連APIもバッサリ削除されている。
AVFoundationのAVPlayerがHDRに対応編集
AVPlayerクラスにqualifiedForHDRPlaybackとAVPlayerEligibleForHDRPlaybackDidChangeNotificationの2つの新しいプロパティが追加された。これを使うと「繋がってるディスプレイがHDR対応か」を調べられる。
AVFoundationがHEVCに対応編集
AVFoundationでHEVCを使用した動画のエンコードができるようになった。 T2チップやGPUなどがある場合はそちらを使い爆速でエンコードできるようだ。
QuickTimeとQTKitが完全廃止編集
QuickTimeとQTKitは完全になくなった。 非推奨ではなく完全廃止。 非推奨ではなく完全廃止なのは前述の32ビット廃止によるものらしい。
Core Imageが色々変更編集
RAW画像デコーダーはバージョン6以降のみサポートとなった。
組み込みCore Image Filterのインスタンス化と変更がサポートされた。 組み込みフィルターを断続的にかけたい場合のコストを削減できるぞ。
MetalのCIKernelへ渡す引数に構造体を使えるようになった。 GPGPUを使った画像処理で引数が大量になるケースを想定しているのだろうが、 個人的には引数に構造体を指定する方法は可読性が悪いのであまり好きではない。