macOS SDKの新機能

macOS SDKで利用可能なキーテクノロジーと機能、Mac Appを構築するツールキットについて学び、各ベータ版リリースを含む最新リリース版でのAPIの変更についての詳細情報を確認するには、macOSリリースノート(英語)をご覧ください。

macOS 10.14

macOS Mojave 10.14 SDKを使えば、 Appでダークモード、Create ML、Mac App Store用評価とレビューAPI、Appの認証、Networkフレームワーク、Natural Langaugeフレームワークなどを活用することができます。

ダークモード

macOS 10.14では、ダークモードに切り替えてmacOSを暗い色調に変えることができるようになりました。それによってコントロール部分が背景になじみ、さらに作業に集中できるようになります。システム環境設定でシステム全体の色調の明暗を切り替えることができます。

Appにダークモードを組み込む方法について詳しくは、「インターフェイスをダークモードに対応させる(英語)」およびAppKit(英語)に関するデベロッパ向けドキュメントを参照してください。デザインに関するアドバイスについては、「Human Interface Guidelines(英語)」を参照してください。

Create ML

Create MLは、カスタムの機械学習モデルをMacで作成しトレーニングする新しいテクノロジーです。Create MLは、SwiftやmacOSのPlaygroundといった使い慣れたツールで利用できるため、自作のモデルを簡単にトレーニングすることができます。

Create MLの使用を開始する方法について詳しくは、Create ML(英語)に関するデベロッパ向けドキュメントを参照してください。

Mac App Store

再設計されたMac App Storeには、macOS 10.14 SDKを使用して開発されたMac Appに対応する、評価とレビュー用の新しいAPIが用意されています。

App内でユーザーに評価とレビューを求める方法について詳しくは、SKStoreReviewController(英語)に関するデベロッパ向けドキュメント、および「Human Interface Guidelines(英語)」を参照してください。

Appの認証

配信前にAppleによる認証を得るため、Appを提出することができます。macOS Mojaveのユーザーが、認証済みのAppを初めて起動すると、そのAppが既知のマルウェアではないことを確認できる、より合理的なGatekeeperダイアログが表示されます。認証済みAppは、Developer ID証明書で署名され、Appleが発行したチケットを含みます。

Appの認証を得る方法について詳しくは、「macOS Appを認証のためにアップロードする(英語)」を参照してください。

Networkフレームワーク

新しいNetworkフレームワークでは、トランスポートプロトコルとセキュリティプロトコルを使用してデータを送受信するネットワーク接続を、より簡単に作成することができます。

TLS、TCP、カスタムAppプロトコルのためのUDPなど、プロトコルに直接アクセスする必要がある場合は、このフレームワークを使用してください。HTTPおよびURLベースのリソースの読み込みには、このフレームワークを基に構築されたURLSession(英語)を引き続き使用してください。

Networkフレームワークに関する情報や、低レベルのソケットAPIを呼び出す代わりとしてNetworkフレームワークをAppで使用する方法について詳しくは、Network(英語)フレームワークに関するデベロッパ向けドキュメントを参照してください。

Natural Language

Natural Languageフレームワークは、自然言語のテキストを分析し、その言語特有のメタデータを推定するために使用する新しいフレームワークです。このフレームワークをCreate MLと一緒に使用することで、カスタムのNLPモデルをトレーニングしてデプロイすることができます。

Appがどのように自然言語のテキストを処理して理解するかについて詳しくは、Natural Language(英語)フレームワークに関するドキュメントを参照してください。

非推奨

Appleでは、特定のAPIがアクティブな開発で用いるべきではなくなった場合、そうしたAPIに非推奨のマクロを定期的に追加しています。特定のAPIが非推奨となった場合、そのAPIは即座に廃止されるわけではありませんが、そのAPIから最新の代替手段に移行するための猶予期間が始まったことになります。通常、非推奨となったAPIは、その後も妥当な期間、使用可能な状態でシステムにそのまま残されます。ただし、そうしたAPIがアクティブな開発で使用されることはなくなります。また、そうしたAPIに施されるアップデートは、セキュリティパッチの適用やその他の深刻なバグの修正のみとなります。非推奨となったAPIは、オペレーティングシステムの将来のバージョンで完全に廃止される可能性があります。

デベロッパはできるだけ早く、コード内での非推奨となったAPIの使用を避ける必要があります。少なくとも、新しく記述するコードでは、非推奨となったAPIを使用しないでください。既存のコードに非推奨となったAPIが使用されている場合は、できるだけ早くコードをアップデートするようにしてください。

OpenGLとOpenCLの非推奨化

OpenGLおよびOpenCLを使用して開発されたAppはmacOS 10.14でも引き続き動作しますが、macOS 10.14で非推奨となります。そのため、OpenGLを使用しているゲームやグラフィックスを駆使したAppには今後、Metalを導入する必要があります。同様に、演算タスクにOpenCLを使用しているAppにも、今後MetalやMetal Performance Shadersを導入することが求められます。

Metalは、iOS、macOS、tvOSの各デバイスに搭載されている最新のGPUへの最適なアクセスを提供するようデザインされています。Metalではレガシーテクノロジー特有のオーバーヘッドを回避することができ、最新のグラフィックス処理機能を利用することができます。グラフィックスと演算のサポートが統合されたMetalを導入すると、Appで最新のレンダリング技術を効率的に活用することができます。Metalを使用したAppやゲームの開発について詳しくは、Metal(英語)Metal Performance Shaders(英語)MetalKit(英語)に関するデベロッパ向けドキュメントを参照してください。OpenGLのコードをMetalに移行する方法について詳しくは、「MetalとOpenGLのレンダリングを1つのビューで同時に使用する(英語)」を参照してください。