マルチタスクと複数のウィンドウ
マルチタスクを使用すると、アプリスイッチャを使用して、あるアプリから別のアプリにすばやく切り替えられ、さまざまなデバイスで追加の体験を実現できます。たとえば iPhone では、マルチタスクを使用すると、FaceTime を使用したり、ピクチャ・イン・ピクチャ ウィンドウでビデオを視聴したりしながら、別のアプリを使用したりできます。
アプリスイッチャには、現在開いているすべてのアプリが表示されます。
現在の FaceTime 通話は、人々が別のアプリを使用している間も続行できます。
iPad では、マルチタスクを使用すると、複数の異なるアプリウィンドウを同時に表示して操作できます。アプリは複数のウィンドウを有効にすることもできます。これにより、人々は一度に複数のアプリウィンドウを表示して操作できます。
<マルチタスク>
マルチタスクでは、Notes、Maps、Photos などの複数のアプリからウィンドウを同時にスクリーン上で利用できます。
<複数のウィンドウ>
カレンダーを使用すると、複数のカレンダーウィンドウを同時に開くことができます。
iPadOS は、さまざまなワークフローをサポートするさまざまな構成でマルチタスクウィンドウを表示できます。このシステムは、マルチタスク構成を切り替えることができるマルチタスクコントロールと、アプリ内で開いているすべてのウィンドウにアクセスできるアプリシェルフも提供します。
マルチタスクコントロール
アプリシェフ
以下の構成のいずれかを選択して、iPad でマルチタスクウィンドウを開くことができます。
Slide Over (スライドオーバー) は、重ね合わせで 2 番目のウィンドウを開き、最初のウィンドウはフルスクリーンで表示します。スライドオーバー ウィンドウのスクリーン上の位置を変更したり、オフスクリーンで非表示にして後で取り戻したりできます。スライドオーバー で複数のウィンドウを開いて、スタックを形成することもできます。
Split View (分割ビュー) では、2 つのウィンドウが並べて表示され、ウィンドウの相対的領域のサイズを変更して、両方を操作できます。分割ビュー でウィンドウを並べて表示しているときに、スライドオーバー で 3 番目のウィンドウを開くこともできます。
Picture in Picture (画像内画像) は、フルスクリーンアプリの上に浮かぶ移動可能な、サイズ変更可能なウィンドウでビデオを開きます。
<スライドオーバー>
<分割ビュー>
<画像内画像>
注意
アプリはマルチタスク構成をコントロールしたり、人々が選択した構成の指示を受け取ったりすることはありません。
人々は自分のデバイスでマルチタスクを使用したいのであり、あなたのアプリで許可されていない場合は何かがおかしいと思うかもしれません。一部のフルスクリーンのみの iPad アプリなど、まれな例外を除いて、すべてのアプリはマルチタスクでうまく機能するはずです。ガイダンスについては、マルチタスクのサポート を参照してください。
あなたの iPad アプリを 分割ビュー または スライドオーバー で人々が開いたときに正しく応答できるように、さまざまなスクリーンサイズに適切に適応 するようにしてください。開発者向けガイダンスについては、Multitasking on iPadz (iPad でのマルチタスクの使用) を参照してください。人々が iPad のマルチタスク機能をどのように使用するかについて詳しくは、iPad でのマルチタスクの使用 (Use Multitasking on your iPad) を参照してください。
あなたのアプリがマルチタスクでうまく機能することを確認するだけでなく、複数のウィンドウをサポートするために追加の実装を行う必要があります。ガイダンスについては、iPad で複数のウィンドウを有効にする を参照してください。開発者向けガイダンスについては、シーン (Scenes) を参照してください。
マルチタスクのサポート
マルチタスク環境で成功するには、あなたのアプリがデバイス上の他のアプリと調和して共存し、CPU、メモリ、スクリーンスペース、およびその他のシステムリソースの使用を最小限に抑える必要があります。マルチタスクアプリは、また他のアプリからの突然の割り込みやオーディオにも適切に応答し、バックグラウンドとの間ですばやくスムーズに移行し、バックグラウンドで操作しているときに責任を持って動作します。
中断に備え、また再開する準備をしてください。 あなたのアプリはいつでも中断される可能性があります。中断が発生した場合、あなたのアプリは現在の状態をすばやく正確に保存して、人々が戻ったときに中断したところからシームレスに続行できるようにする必要があります。開発者向けガイダンスについては、アプリの起動への対応 (Responding to the Launch of Your App) をご覧ください。
オーディオの中断に適切に対応して下さい。 場合によっては、あなたのアプリの音声が別のアプリやシステム自体からの音声によって中断されることがあります。たとえば、Siri によって開始された電話の着信や音楽プレイリストによって、あなたのアプリのオーディオが中断されるかもしれません。このような状況が発生した場合、人々はアプリが以下のように応答することを期待します。
ガイダンスについては、オーディオ を参照してください。
ユーザが開始したタスクをバックグラウンドで終了します。 誰かがタスクを開始すると、あなたのアプリから切り替えた時もタスクが終了することを期待します。アプリが追加の入力を必要としないタスクを実行している最中の場合は、一時停止する前にバックグラウンドでアプリを完了してください。
通知は慎重に使用してください。 あなたのアプリは、アプリが一時停止されているか、バックグラウンドで実行されているか、まったく実行されていないかにかかわらず、特定の時間に通知を送信するように調整できます。一般に、アプリがバックグラウンドでタスクを完了したときに通知を送信することは避けてください。代わりに、人々がアプリに戻ってタスクを確認できるようにします。ガイダンスについては、通知 を参照してください。
(訳注:この 通知 のリンク、原文では こちら になっています。)
iPad で複数のウィンドウを有効にする
概念的には、iPad アプリはコンテンツを提供するために 2 種類のウィンドウを使用する傾向があります。
iPadOS 15 以降では、人々がアプリで開く各ウィンドウの初期の外観を決定する提示スタイルを指定できます。ウィンドウを開いた後に位置を変更することはできますが、提示スタイルを指定すると、ウィンドウのタスクやコンテンツの性質を視覚的に強化できます。iPadOS は、以下の提示スタイルを定義しています。
注意
単にファイルを人々に表示させる必要がある場合は、独自のウィンドウを作成せずにファイルを表示できますが、あなたのアプリで複数のウィンドウをサポートしなければなりません。開発者向けガイダンスについては、 QLPreviewSceneActivationConfiguration を参照してください。
重要スタイルを使用して、あなたのアプリの他の部分を開かずに人々が完了できる自己完結型のタスクを提示します。 たとえば、重要スタイルは、特定のファイルやコンテンツのコレクションを対象としたドキュメント編集や別のタスクを有効にするのにうまく機能します。重要ウィンドウがそれ自体でも役立つことを確認してください。二次的なタスク、補足的なアクションを提示したり、メインのタスクに影響を与えるアイテムを選択したりするためにそれを使用することは避けてください。
標準スタイルを使用して、同じタスクやコンテンツの複数のバージョンを表示します。 たとえば、 Safari は標準のスタイルを使用して、スクリーン上の 2 つのブラウジングウィンドウを同時に表示および操作できるようにします。
人々が明示的なアクションをとった場合にのみ、新しいウィンドウを開きます。 たとえば、アプリシェルフまたは App Exposé の[Add(追加)](+) ボタンをタップするか、メニュー項目を選択できます。要求しない新しいウィンドウを開いて、人々を驚かすのは避けてください。
アプリウィンドウが、有効にしたすべてのタスクをサポートしていることを確認してください。 複数のウィンドウで、便利で効率的なワークフローを提供できますが、人々は常に単一のウィンドウですべてのアプリ機能にアクセスできる必要があります。
人々が開く各ウィンドウの状態を保持して下さい。 人々がウィンドウに戻るとき、彼らはそれが、去った時と同じ状態にあることを期待します。開発者向けガイダンスについては、アプリの状態の復元 (Restoring Your App’s State) をご覧ください。
ジェスチャを使用して新しいウィンドウでコンテンツを開くことを検討してください。 たとえば、ピンチジェスチャを使用して、Notes アイテムを新しいウィンドウに展開できます。ジェスチャ対応の移行では、常に重要提示スタイルが使用されるため、結果のモーダルウィンドウは、アイテムまたはタスクを拡張した自然な結果のように感じられます。開発者向けガイダンスについては、 collectionView(_:sceneActivationConfigurationForItemAt:point:) (コレクションビューアイテムから移行する場合) または UIWindowScene.ActivationInteraction(UIWindowScene.ActivationInteraction) (他のビューのアイテムから移行する場合) を参照してください。
新しいウィンドウ内でコンテンツを開くことができるメニュー項目を提供することを検討してください。 この動作を有効にすると、あなたのアプリが iPad または Mac Catalyst を使用する Mac で実行されている場合、メニューに "Open in new window (新しいウィンドウで開く)" 項目が表示されますが、アプリが iPhone で実行されている場合は表示されません。あなたのアプリでそれが意味がある場合は、"Show details (詳細を表示)..." など、アプリが iPhone で実行されたときに表示する代替アイテムを提供できます。"新しいウィンドウで開く" 項目をコンテキストメニュー、またはボタンやバーボタン項目に添付されているメニューに追加できます。開発者向けガイダンスについては、 UIWindowScene.ActivationAction (UIWindowScene.ActivationAction) を参照してください。
新しいウィンドウでコンテンツを開く方法を提供するときは、レイアウトを指定しないでください。 人々が使用しているマルチタスク構成がわからないため、"Open in split view (分割ビューで開く)" や "Open in front (前面で開く)" などのメニュー項目を提供することは避けてください。
ユーザ向けのコンテンツでは、常に window (ウィンドウ) という用語を使用してください。 システムは、タイプに関係なく、アプリウィンドウを windoew と呼びます。ウィンドウの実装を指す scenes (シーン) など、さまざまな用語を使用すると、人々を混乱させる可能性があります。