iOS SDKの新機能

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

iOS 12

iOS 12 SDKを使えば、AppでARKit、Siri、Core ML、HealthKit、CarPlay、通知などの最先端技術を活用することができます。

ARKit 2

マルチユーザーと接続可能なAR。ワールドマッピングデータを使用することで、AR体験を共有することができます。また、ARセッションのデータをAppに保存することで、後から簡単に続きを楽しむことができます。

詳しくは、ARKit(英語)に関するデベロッパ向けドキュメントの「マルチユーザーAR体験を作成する(英語)」および「接続や共有のためのワールドマップデータをアーカイブする(英語)」を参照してください。

オブジェクトの検出。近くにあるオブジェクトを検出してAR Appに組み込むことができます。ARKit 2のオブジェクト検出機能を取り入れると、ユーザーが現実世界のオブジェクトをスキャンして、その位置や動きをAppの拡張現実に組み込むことを可能にします。

オブジェクトの検出について詳しくは、ARKitに関するデベロッパ向けドキュメントの「3Dオブジェクトをスキャンして検出する(英語)」および「オブジェクトの検出(英語)」を参照してください。

Siriショートカット

Appでユーザーが実行したいアクションをSiriが予測し、そのショートカットをSpotlight検索画面、ロック画面、Siriの文字盤でユーザーに提示することができます。SiriはAppが提供する情報を使って、Appで利用可能なショートカットを学習していきます。また、ユーザは提供されたショートカットに対し、カスタマイズした音声コマンドをSiriに追加し、使用することもできます。

Appのユーザーにとって、どのようなアクションが適切で、今後実行される可能性があるかを見極めましょう。関連するショートカットとして指定することで、そのようなアクションをAppからSiriに伝えることができます。

Appにおけるショートカットの提供について詳しくは、デベロッパ向けドキュメントの「ショートカット(英語)」を参照するか、「ショートカットを使用してAppのインタラクションを加速する(英語)」のサンプルコードプロジェクトをダウンロードしてください。

ヘルスケアレコード

iOS 12のHealthKitを使用すると、ユーザは診療録をAppで共有することができます。ユーザーの許可を得れば、症状、ラボデータ、投薬、バイタルなどの健康記録データに基づいて、ヘルスケアの体験をパーソナライズすることができます。

Appが診療録にアクセスして利用する許可をリクエストする方法について詳しくは、「診療録にアクセスする(英語)」およびHealthKit(英語)に関するデベロッパ向けドキュメントを参照してください。

エフェクト

ステッカーパックのステッカーと、iMessage Appの画像を、エフェクトとして表示できるようになりました。詳しくは、「ステッカーパックとiMessage Appをエフェクトに追加する(英語)」およびメッセージ(英語)に関するデベロッパ向けドキュメントを参照してください。

通知におけるインタラクティブコントロール

通知コンテンツApp Extensionで、カスタムビューのユーザーインタラクションがサポートされるようになりました。Appの通知でユーザーに素早いインタラクションを促す必要がある場合に、ボタンやスイッチなどのコントロールを加えることができます。詳しくは、「通知の見た目をカスタマイズする(英語)」およびUserNotificationsUI(英語)に関するデベロッパ向けドキュメントを参照してください。

ペンシルインタラクション

Apple Pencilをダブルタップするだけで、ユーザーがAppの機能にアクセスできるようにしましょう。詳しくはiOS 12.1用UIKitデベロッパドキュメントのペンシルインタラクション(英語) をご確認ください。

認証サービス

新しいAuthenticationServicesフレームワークでは、パスワード管理AppにPassword AutoFillを組み込むことができます。また、AppでASWebAuthenticationSession(英語)クラスを使用すれば、Safariで表示されるウェブサイトと、関連するAppの間でログインセッションを共有することができるため、Appへのログインをシンプルにすることができます。

パスワード管理Appとの統合について詳しくは、AuthenticationServices(英語)に関するデベロッパ向けドキュメントを参照してください。

ナビゲーションApp用のCarPlay

新しくなったCarPlayフレームワークを使用すると、ナビゲーションAppのナビゲーション情報をCarPlayで表示することができます。詳しくは、CarPlay(英語)に関するデベロッパ向けドキュメントを参照してください。

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 ESの非推奨化

OpenGL ESを使用して開発されたAppはiOS 12でも引き続き動作しますが、iOS 12でOpenGL ESは非推奨となります。そのため、過去にOpenGL ESを使用して開発された、ゲームやグラフィックスを駆使したAppには、今後Metalを導入する必要があります。

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