iOS SDKの新機能

iPhone、iPad、iPod touch向けのApp構築に使用するツールキットであるiOS SDKで利用できる主なテクノロジーや機能について紹介します。リリースされている最新バージョン(各ベータ版リリースを含む)でのAPIの変更点について詳しくは、「iOS & iPadOSリリースノート(英語)」を参照してください。

iOS 15 SDK

iOS 15 SDKでは、SharePlayとGroup Activities APIによる新たなタイプの共有体験が楽しめるAppを構築することができます。Swift 5.5では、async/awaitおよびActorsによる並行処理のサポートが導入されます。「集中モード」と通知は、ユーザーが一番重要なことに集中するのに役立ちます。また、ユーザーにとって最も重要性の高い通知がどれかをAppが指定することのできる新しいAPIも用意されました。ARKitとRealityKitのパワフルなカスタマイズ機能を使えば、AR体験のリアルさがこれまで以上に高まります。Swiftとプレイグラウンドの統合、そしてオンデバイスでのトレーニングにより、Create MLはさらに使いやすく、パワフルになります。また、Web ExtensionがiOSとiPadOSのSafariでも使えるようになり、さらに柔軟で強力なブラウジング体験が可能になります。

SharePlayとGroup Activities

SharePlayを使うと、ユーザーは新たな方法でAppの体験を共有できるようになります。メディアストリーミングのAppでは、新しいGroup Activities APIを通じてユーザーがビデオの品質を損なうことなくコンテンツを共有できます。同期はすべてシステムによって制御されます。メディアストリーミング以外の共有については、GroupSessionMessenger APIを使うことにより、セキュアなデータチャネルを介して、複数のユーザーにまたがるAppの複数のインスタンス間で情報を同期することができます。

ドキュメントを見る(英語)

「集中モード」と通知

「集中モード」によって、ユーザーは自分に最適な時間に通知を受け取ることができます。Interruption Levels APIを使うと、気を散らさないための4種類のレベル(新しい「Passive(受動的)」と「Time-Sensitive(一刻を争う)」のレベルを含む)に合わせて通知を送信するための詳細設定もできます。コミュニケーションのためのAppでは、独自の新デザインで通知が表示されるようになったほか、ユーザーが許可する場合は、システムレベルでの現在の「集中モード」のステータスとAppのステータスを同期させることができます。

ドキュメントを見る(英語)

SwiftUI

SwiftUIに、改善されたリストビュー、向上した検索機能、コントロールフォーカスエリアのサポートといった新機能が導入されます。新しいCanvas API(drawRectに相当する、GPUによる高速処理のための最新API)を使えば、低レベルの描画プリミティブをよりきめ細かく制御することができます。また、新しいAccessibility Representation APIを使うと、SwiftUIの既存の標準コントロールに組み込まれているすべてのアクセシビリティサポートを、カスタムのコントロールに簡単に継承させることができます。

SwiftUIについてさらに詳しく(英語)

UIKit

UIKitにはシートプレゼンテーションコントローラが導入されます。これは、ビューコントローラをカスタマイズとサイズ調整が可能なシートとして表示できるようにするものです。また、設定ボタン、ポップアップボタンの表示、新しいクロムレスのバー表示、画像デコード、サムネール画像の作成のための新しいAPIも用意されました。さらにiOS 15以降では、iPhoneでのドラッグ&ドロップ機能がデフォルトで有効になります。

ドキュメントを見る(英語)

キーボードのレイアウトガイド

新しいキーボードのレイアウトガイドを使うと、キーボードのサイズと位置に合わせてAppのレイアウトを簡単に調整することができます。新しいトラッキングレイアウトガイドに対応したUIKitでは、キーボードが画面下部に固定されている場合、固定されていない場合、またはAppの上でフローティング表示になっている場合に応じて、それぞれ制約の有効化/無効化が自動的に切り替わるため、テキスト入力の利便性が高まります。

「キーボードのレイアウトガイドを使ったレイアウト調整」を見る(英語)

Core Location UI

CoreLocationUIは、位置情報のボタンを導入するためのまったく新しいフレームワークです。このボタンは、Appが位置情報にアクセスするのをユーザーが一時的に許可できるようにするためのもので、Core Locationと安全に連携して位置情報データへのアクセスの承認をリクエストします。

ドキュメントを見る(英語)

アクセシビリティ

Accessibilityフレームワークにはオーディオグラフが導入されます。これは、チャートやグラフの中にあるデータを説明する新しい方法で、VoiceOverを使って音声での説明を作成して再生することができます。また、ストリーミングの環境設定、ストリーミングの機能、ペアリングされている補聴器など、MFi対応のヒアリングデバイスに関連する情報を照会するためのAPIもAccessibilityフレームワークに追加されました。

オーディオグラフに関するドキュメントを見る(英語)

ヒアリングデバイスのサポートに関するドキュメントを見る(英語)

拡張現実

ARKit 5

ARKit 5では、最新のiPad Pro(第5世代)に搭載されている超広角カメラでのフェイストラッキングが行えるようになりました。TrueDepthカメラを使って同時に最大3人の顔をトラッキングできるため、ミー文字やSnapchatのような、フロントカメラを利用した体験がさらに充実したものになります。

ARKitについてさらに詳しく

RealityKit 2

macOSの新しいObject Capture APIを使えば、iPhoneまたはiPadの写真から、ARに最適化された高品質な3Dモデルを簡単に作成することができます。また、ARオブジェクト、カスタムのレンダーターゲットとマテリアルを含むシーン、アセットのカスタマイズ可能な読み込み、プレイヤーが操作するキャラクターなどをさらに細かく制御できる新たな機能が用意されました。

RealityKitについてさらに詳しく

機械学習

Create ML

Create MLが、macOSに加えて、iOSとiPadOSでもSwiftフレームワークとして利用できるようになりました。Swiftのスクリプトやプレイグラウンドでモデル作成をプログラムで試行して、自動化することができます。Create ML APIを活用してユーザーの入力またはデバイス上の動作から直接モデルをトレーニングすることで、Appにダイナミックな機能を実装しましょう。これにより、ユーザーのプライバシーを保護しつつ、状況に応じパーソナライズされた体験を提供することができます。

Create MLでは、「Hand Pose(手の形)」と「Hand Action(手の動き)」の分類器タスクが、Create ML APIと、Xcodeに含まれているデベロッパツールの両方に追加されました。これらの分類器は、静止画像の中の手の形と、ビデオの中の手の動きをそれぞれ認識します。

MLHandPoseClassifierに関するドキュメントを見る(英語)

MLActionClassifierに関するドキュメントを見る(英語)

Create MLに関するドキュメントを見る

Core ML

Core MLML PackagesとML Programsが追加されました。ML Packagesは、メタデータを編集できる柔軟性と、ソースコントロールによって変更を追跡できる可視性を備えた先進的な新しいモデルです。ML Programsは、コンパイルをより効率的に行い、モデルのアーキテクチャからその重みを切り離し、中間テンソルの計算精度をよりきめ細かく制御することができます。新しいMLShapedArray APIでは、コードの型の安全性と読みやすさを向上するSwiftのイディオムを使って、多次元データを処理することができます。

「モデルファイルからモデルパッケージへのアップデート」を見る(英語)

MLShapedArrayに関するドキュメントを見る(英語)

Tabular Data:Tabular Dataを使えば、JSONおよびCSVのファイルから情報をプログラムでインポートしたり、データセットをCore MLCreate ML、またはカスタムソリューションでの使用向けに準備することが簡単になります。Tabular Dataの主要なDataFrame APIを使うと、表形式データの並べ替え、結合、グループ化、分割、エンコード、デコード、分解、フィルタリング、スライス、連結ができるほか、ニーズに合わせてデータの行と列を変換することができます。

TabularDataに関するドキュメントを見る(英語)

DataFrameに関するドキュメントを見る(英語)

Sound Analysis:Sound Analysisに新しい音声分類器が追加され、リアルタイムの音声またはオーディオファイルから、300を超える種類の音声をAppで識別できるようになりました。また、時間枠の長さに関する新しいAPIでは、時刻の精度に対する推論の精度を調整することができます。

ドキュメントを見る(英語)

ゲーム

GameKit

GameKitは、プレイヤーを見つけてゲームに招待するための新しい方法を提供します。プレイヤーは連絡先やメッセージグループ内の人をゲームに招待できるほか、電話番号やメールアドレスを使って任意のユーザーを招待することができます。さらに、他のプレイヤーの招待の受信/承諾の状況を確認したり、他のプレイヤーが参加するのを待つ間、最小限の人数でプレイを始めたりすることが可能になりました。

ドキュメントを見る(英語)

Game Controller

Game Controllerフレームワークが仮想コントローラに対応しました。ソフトウェアのエミュレーションにより、実際のコントローラと同じように操作することができます。デベロッパは、入力コントロールを設定によって選択することができます。

ドキュメントを見る(英語)

StoreKit 2

StoreKitの新しいIn-App Purchase APIでは、シンプルでパワフル、かつ安全な方法でAppのプロダクトとトランザクションを処理することができます。この新しいAPIは、並行処理のようなSwiftの最新機能を活用したもので、App内課金のワークフローをシンプルにしてくれます。暗号化署名付きトランザクションとサブスクリプションに関する情報にはJSON Web Signature (JWS)フォーマットが使われているため、クライアント上で安全かつシンプルに解析することができます。新しいエンタイトルメントのAPIを使うと、ユーザーに対してAppでどのコンテンツやサービスのロックを解除すべきかを判断するのが容易になります。App内課金の表示から、コンテンツへのアクセス管理やApp内でのカスタマーサービスの提供に至るまで、App内課金のプロセス全体で新しいStoreKit APIを活用するようにしてください。

StoreKitに関するドキュメントを見る

App内課金に関するドキュメントを見る

Apple Pay

クーポン、後払い、定期支払い、発送日、受取先住所(読み取り専用)をApple Payのトランザクションに追加して、ユーザーがさまざまなオプションを利用できるようにしましょう。

「AppでのApple Payの提供」を見る(英語)

Web上のApple Payに関するドキュメントを見る(英語)

Safari Web Extension

Safari Web Extensionでは、HTML、CSS、JavaScriptを使って、Webブラウザにパワフルなカスタマイズや新機能を持たせることができます。iOS 15からは、Safariを搭載したすべてのAppleデバイスでSafari Web Extensionを利用できるようになりました。

ドキュメントを見る(英語)

Screen Time

ペアレンタルコントロール対応のAppでScreen Time APIを使うと、保護者がさらに多くのツールを利用できるようになります。重要な機能制限やデバイスアクティビティのモニタリングといった主な機能を、プライバシーを最優先した方法で用いることができます。

ManagedSettingsとManagedSettingsUI:ManagedSettings(英語)を使うと、親または保護者のデバイス上で使用に関するポリシーを定めて機能制限を設定し、ファミリー共有グループ内の他のデバイスに適用することができます。ManagedSettingsUI(英語)では、Appのブランディングやスタイルに合わせて、Screen Time APIにより表示されるAppの使用禁止画面をカスタマイズすることができます。

FamilyControls:FamilyControls(英語)は、子どものiCloudアカウントにサインインしているデバイス上では、ファミリー共有グループ内の親または保護者がペアレンタルコントロールを承認しないとAppを使用できなくすることで、親や保護者に管理権限を提供します。FamilyControlsを使うと、ファミリー共有グループ内のメンバーだけがアクセスを承認できるため、安全な環境でAppを利用することができます。また、ユーザーのプライバシーを保護するApp、Webドメイン、カテゴリを安全に選択できるようにもなります。

DeviceActivity:Device Activity(英語)を使うと、プライバシーを保護しながら、ユーザーのAppとWebサイトでの行動をモニタリングすることができます。

Screen Time APIに関するドキュメントを見る(英語)

ShazamKit

音声認識を利用して、Appの体験をさらに豊かなものにしましょう。Shazamの膨大な音源カタログをベースに、何百万曲の音楽をマッチングしたり、ビデオ、Podcast、その他の音源からカスタムカタログを作成して、事前録音された音声を認識したりすることができます。

ShazamKitについてさらに詳しく

MusicKit

Swiftを使って、iOSおよびiPadOS向けのAppにApple Musicを簡単に統合できます。MusicKitフレームワークによってSwiftから新しいモデルレイヤを通じた音楽アイテムへのアクセスが可能になります。また、Appに音楽を追加できるよう、音楽の再生にも対応しています。

MusicKitについてさらに詳しく(英語)

Nearby Interaction

U1チップを搭載したAppleデバイスと近接したアクセサリと通信するAppを構築しましょう。超広帯域無線テクノロジーを活用すると、より高い精度で方向を認識するAppを生み出すことができます。

ドキュメントを見る(英語)

HomeKit

iOS 15 SDKのHomeKit APIは、Matter対応のアクセサリと自動的に連携します。スマートホーム向けのAppでMatterのテストを始めましょう。Matterは、スマートホームアクセサリの互換性を高め、デバイスとシームレスに連携させるために策定されたオープンな接続の統一規格です。

HomeKitについてさらに詳しく(英語)

HealthKit

HealthKitに、検証可能な診療記録への1回限りのアクセスをリクエストする機能が追加されました。診療記録は、予防接種の記録や臨床検査値といった医療上のデータを含む、ユーザーの医療情報を記録したものです。HealthKitを使ったAppは、データを作成した組織が暗号化署名を施した診療記録にアクセスして、それを検証することができます。

HKVerifiableClinicalRecordに関するドキュメントを見る(英語)

HKVerifiableClinicalRecordQueryに関するドキュメントを見る(英語)

CloudKit

CloudKitはSwift 5.5で新たに対応したasync/awaitの上に構築されているため、非同期のAPIをより使いやすく、より構成しやすいものにしてくれます。既存の共有インフラストラクチャの上に構築されたレコードゾーンの共有(英語)機能を使うと、ユーザーがレコードゾーンの全コンテンツを他のiCloudユーザーと共有できるようになります。CKRecordで新しいAPIを使ってレコードの値を暗号化(英語)することで、ユーザーのプライバシーを強力に保護できるようにもなりました。新しいCloudKitスキーマ言語(英語)では、CloudKitスキーマのテキスト表現を取得してアップロードすることで、Appのソースコードと同じツールを使ってスキーマのバージョンを管理できるようになりました。

CloudKitに関するドキュメントを見る(英語)

CloudKit Console:CloudKitの新しいCloudKit Consoleを使うとワークフローが向上します。このコンソールは直感的に操作できるWebベースのコントロールパネルで、Appおよびcktoolのコマンドラインインターフェイスの開発ライフサイクル全体を通じて利用できます。

コンソールについてさらに詳しく(英語)

Core Data:Core Dataでは、CloudKitを利用した永続ストアに対して、他のiCloudユーザーとの管理オブジェクトの共有を円滑にする新しいAPIを利用することができます。さらに、iCloudに保存する前にエンティティの属性を暗号化するオプションも利用できるようになりました。Spotlightとの統合も強化され、どのようなデータをどのような状況でインデックスに追加するかをきめ細かくコントロールできる新しいAPIが追加されました。

Core Dataに関するドキュメントを見る(英語)

バーチャル会議のExtension

バーチャル会議サービスを提供するAppでは、EventKitのこの新しいApp Extensionを使って、情報をユーザーのカレンダーイベントに直接組み込むことができます。イベント用のカスタムの位置情報、ユーザーが1回タップするだけで会議に参加できるリンクに加え、ダイヤルイン番号などの追加情報を提供することが可能です。

ドキュメントを見る(英語)

iOS 14

iOS 14 SDKにより、ユーザーはApp ClipでAppのコアな機能を簡単に見つけられるようになります。SwiftUIには、Appの新たなライフサイクルと、新しいビューレイアウトが導入されました。新しいWidgetKitフレームワークに対応しているため、Appからの情報をiOSのホーム画面に直接表示することができます。機械学習においては、モデルにスタイル変換やアクション識別の機能が追加され、CloudKitベースの展開のためのソリューションが利用可能になりました。追加されたVision APIを活用することで、Appで画像やビデオをより深く分析できます。また、デバイスの周囲の世界とより高精度で融合できるよう、ARKitが進化しました。EメールやWebサイトにマークアップを含めることで、Siriのイベント提案機能による、イベントの通知が可能になりました。

App Clip

App ClipはAppの軽量版で、Appの機能の一部をユーザーが利用できるようにするものです。App Clipは必要なときにすぐに見つかり、高速で動作し、すばやく起動します。ユーザーは、Safari、マップ、メッセージなど、多くの場所でApp Clipを見つけて起動することができます。実世界の中のQRコードやNFCタグを通じても利用できます。また、App Clipは、ユーザーにAppの完全版をApp Storeからダウンロードする機会も提供してくれます。独自のApp Clipを作成する方法について詳しくは、App Clipに関するドキュメントを参照してください。

ウィジェット

ウィジェットを使うと、Appからのタイムリーな情報を、iOSのホーム画面で一目ですばやく確認できます。iOS 14では、ウィジェットの体験が刷新されました。Appのウィジェットを複数のサイズで表示できるようになり、ユーザーがカスタマイズすることもできるようになりました。インタラクティブな機能を取り入れたり、適切なタイミングでコンテンツを更新したりすることもできます。ウィジェットの設計について詳しくは、「Human Interface Guidelines(英語)」を参照してください。Appをウィジェットに対応させる方法について詳しくは、WidgetKit(英語)フレームワークに関するドキュメントを参照してください。

SwiftUI

SwiftUIでは、プログレスインジケータやテキストエディタなど、厳選された新しい組み込みのビューを利用できるようになりました。さらに、グリッドやアウトラインといった新しいビューレイアウトにも対応しています。グリッドおよびスタックの新たな遅延バージョンでは、必要な場合にのみ項目が読み込まれます。

Xcode 12以降、App全体の構造や動作をSwiftUIで定義できるようになりました。Appのユーザーインターフェイスを定義するビュー階層を含むシーンからAppを作成しましょう。メニューコマンドの追加、ライフサイクルイベントの処理、システムアクションの実行、すべてのAppを対象としたストレージ管理を行うこともできます。また、AppにWidgetKitを組み込むことにより、ウィジェットを作成して、iOSのホーム画面またはmacOSの通知センターから重要なコンテンツに直接すばやくアクセスすることも可能になります。詳しくは、「Appの構造と動作(英語)」を参照してください。

ARKit

ARKitに加わったロケーションアンカーは、新しくなったAppleマップの高精度な位置情報を活用して、特定の地理的な場所でバックカメラによるAR体験を味わえるようにする機能です。新しいDepth APIを使うと、iPad ProのLiDARスキャナでキャプチャされる、これまで以上に精密な距離と深度の情報にアクセスできるようになります。これらの機能について詳しくは、ARKitフレームワークに関するドキュメントを参照してください。

機械学習

iOS 14に盛り込まれたアップデートにより、機械学習Appに新たな機能、柔軟性、安全性が提供されます。Core MLに追加されたモデル展開機能では、CloudKitを使ったモデルのホスティングや展開のためのダッシュボードが利用できるため、Appをアップデートしたり、自分でモデルをホスティングしたりしなくても、モデルを簡単にアップデートすることができます。また、Core MLのモデル暗号化機能を利用すると、モデルのセキュリティがさらに高まり、暗号化のプロセスやキーの管理が自動で行われるようになります。Core MLコンバータでは、PyTorchのモデルをCore MLに直接変換することができます。

そして、Create ML Appの新しいStyle Transferテンプレートを使うと、リアルタイムで写真やビデオのスタイルを変換することができ、新しいAction Classificationテンプレートでは、ビデオクリップ内の1人の人物のアクションを識別できます。詳しくは、Core MLおよびCreate MLに関するデベロッパ向けドキュメントを参照してください。

Vision

iOS 14では、ビデオ内での軌道検出、画像やビデオ内での手や体の姿勢の推定、画像やビデオ内での物体の端や特徴を追跡する輪郭検出、連続したビデオフレーム間の動きのパターンを判別するオプティカルフローに対応したAPIが、Visionフレームワークに追加されました。これらの機能について詳しくは、Vision(英語)フレームワークに関するドキュメントを参照してください。特に、「スポーツ分析向けに機能豊かなAppを開発する(英語)」で、これらの機能がサンプルAppの中でどのように扱われているかをご確認ください。

Natural Language

Natural Languageフレームワークにも新しいAPIが追加され、任意の文字列のベクトル表現を作成する文章埋め込み、単語のタグ付けによる自然言語識別モデルのトレーニング、特定のドメインに合わせたカスタマイズ、フレームワークの予測を評価する信頼度スコアが利用できるようになりました。詳しくは、Natural Language(英語)フレームワークに関するドキュメントを参照してください。

App Storeのプライバシー情報

プライバシーの保護はiOS全体のユーザー体験における基盤となっており、App Storeで新たに表示されるプライバシー情報により、ユーザーは自分の個人情報がどのように取り扱われるかについてより詳しく把握し、管理できるようになります。iOS 14では、他社が所有するAppやWebサイトでの行動をトラッキングするには、ユーザーの許可を求めることが義務付けられます。今年後半には、プライバシーに対するAppの仕様をユーザーがApp Store上で確認しやすくなります。デベロッパには、App Storeのプロダクトページに掲載されるプライバシーに関する仕様の情報を、App Store Connectに入力することが求められます。

Siriによるイベント提案のマークアップ

Siriによるイベント提案のマークアップを使って、WebページやEメールでイベントの詳細情報を提供することができます。Siriが旅行の予定、映画、スポーツイベント、ライブ、レストランの予約、ソーシャルイベントを解析し、それに基づいた目的地への車での経路や予定のイベントに向かうためのライドシェアを案内したり、イベント開始の直前におやすみモードを有効にするといった提案を行ったりすることができます。自分のイベントをSiriに統合する方法について詳しくは、「Siriによるイベント提案のマークアップ(英語)」のドキュメントを参照してください。

PencilKit

PencilKitにて、テキストフィールド内に入力した手書きの文字が認識できるようになりました。ユーザーは、ジェスチャーを使って、テキストの選択や削除、単語の結合や分割を行うこともできます。また、Appにデータを検出する機能や、テキストや図形の認識および選択の機能を追加することもできます。詳しくは、PencilKit(英語)フレームワークに関するドキュメントを参照してください。

アクセシビリティ

新しいAccessibility(英語)フレームワークを使うと、状況に合わせて、アクセス可能なコンテンツのサブセットをAppがユーザーに動的に配信できるようにします。

MetricKit

MetricKitに加わった新しい種類のペイロードであるDiagnosticsを使うと、クラッシュやディスク書き込みの例外といったAppの特定の障害を追跡することができます。詳しくは、MetricKit(英語)フレームワークに関するドキュメントを参照してください。

App内課金アイテムのファミリー共有

ファミリー共有を使うと、ユーザーはサブスクリプションや購入アイテムなどを、家族のメンバーとシンプルな方法で共有することができます。iOS 14では、App内課金アイテムとサブスクリプションを家族全体で楽しめるように、ファミリー共有を提供するオプションが選べるようになりました。SKProduct(英語)およびSKPaymentTransactionObserver(英語)を参照して、新しいAPIをご確認ください。

Screen Time

iOS 14には、Webの使用状況データの共有や管理、保護者による変更のモニタリングのためのScreen Time APIが用意されています。詳しくは、Screen Time(英語)フレームワークに関するドキュメントを参照してください。

Uniform Type Identifiers

新しいUniform Type Identifiers(英語)フレームワークを使うと、転送するファイル形式やペーストボードなどのメモリ内のデータを説明したり、ディレクトリ、ボリューム、パッケージなどのリソースを指定したりすることができます。

ファイル圧縮

新しいApple Archive(英語)フレームワークを使うと、iOSでディレクトリ、ファイル、データを高速なマルチスレッド処理で可逆圧縮することができます。