銀河鉄道

Swift|iOSロック画面に情報が表示される仕組み:Now Playing と Live Activity の違い

サムネイル
[Swift]Now Playing vs Live Activity

ロック画面に情報が表示される仕組み

iOS には、ロック画面に「進行中の情報」を表示するための仕組みがいくつか用意されている。
一般的にイメージしやすいのは、音楽アプリを開いたときに出る 再生コントロール
しかし、実際には 2つの全く異なるシステム がロック画面に情報を出している。

その2つが:

  1. Now Playing(音声アプリ専用のコントロールUI)
  2. Live Activity(進行中の情報を表示するリアルタイムビュー)

どちらもロック画面に出るが、仕組みも用途もまったく違う。

Now Playing とは?

音声・音楽アプリ専用に用意された、iOS標準のメディア表示システム。

特徴

  • 再生 / 一時停止 / スキップなどの 操作ボタンあり
  • ロック画面、コントロールセンター、CarPlay に自動的に表示
  • MPNowPlayingInfoCenter に情報を設定すると iOS がUIを生成する
  • 音楽アプリの“正規のコントロールパネル”

役割

「これは今、音を再生しているアプリです」
とiOSに伝えるための仕組み。

Live Activity とは?

iOS 16 で登場した、進行中の状態をロック画面やDynamic Islandに表示する機能。

特徴

  • カスタムUIを自由に作成できる
  • 音声アプリ以外でも利用可能(配送情報、タイマー、運動記録など)
  • 操作ボタンは基本持たない、情報表示が中心
  • ActivityKit を使って開始・更新・終了を管理

役割

ユーザーに「今この処理が進んでますよ」という状態を見せるためのもの。

では、なぜ Live Activity がロック画面に表示されるのか?

結論

Live Activity は “ロック画面に表示される前提の仕組み” やから。
Dynamic Island にだけ出す、ロック画面だけに出す、という選択式にはなっていない。

Activity を開始すると:

  • ロック画面
  • Dynamic Island(対応機種)
  • スタンバイ画面(iPadOS 18以降)

に自動表示される設計になっている。

つまり

Live Activity を使うアプリは、
特に意図しなくてもロック画面に表示される

Now Playing と Live Activity は“似てるけど別物”

両方がロック画面に出るため勘違いしがちだが、構造は完全に別。

機能目的UI操作
Now Playing音声再生のコントロールiOSが自動生成再生/停止/スキップが可能
Live Activity進行中の情報提示開発者が自由に作る基本操作なし(情報のみ)

両者はそれぞれ独立して動作する。
そのため、音声アプリがLive Activityを使うと、Now Playingとは別枠でロック画面に表示される。

混乱しやすいポイント

  • Live Activityは「音声アプリ専用のUIではない」
  • Now Playingを使っていても、Live Activity開始でロック画面にもう1つ情報枠が出る
  • Live Activityは操作を持たないため、「ボタンがない=バグ」ではない
  • Activityは「ロック画面に表示しない」という設定が存在しない
    • 非表示にするには Activityを開始しない or 終了する しかない

まとめ

  • iOS には Now PlayingLive Activity という2種類のロック画面表示システムがある。
  • Live Activity は開始するとロック画面にも表示される仕様であり、これは正常動作。
  • 音声アプリで両方を使うと、操作カード(Now Playing)と情報カード(Live Activity)が並ぶことがある。
  • 目的に合わせて、どちらを使うか設計段階で決めることが重要。

Vocabulary List

EnglishJapanese
Now Playingメディア再生インターフェース
Live Activityライブアクティビティ
media controlメディア操作
system-generated UIシステム自動生成UI
ActivityKitアクティビティキット

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。