SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

iOSエンジニアたちと振り返るWWDC

【WWDC2022総復習】知ってる? ロック画面以外でもiOS 16/iPadOS 16はこんなに進化したんです

  • このエントリーをはてなブックマークに追加

 Worldwide Developers Conference(以下、WWDC)は、Appleが毎年6月ごろに開催する開発者向けイベントです。iOSやwatchOSの最新機能も発表されるため、Appleファンも注目しています。セッション数は約200本もあり、情報量も多いです。そこで本連載では、2022年に開催されたWWDC22で、新しく追加されたAPIや新OSの便利な使い方をご紹介します。ざっとキーワードだけ拾いたい開発者やアップデートを知りたい方のキャッチアップに役立てると幸いです。第2回となる今回は、iPhoneのロック画面、iPadのデスクトップ級の機能およびパスキーについてご紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 この連載は各記事がWWDC22からそれぞれ別のトピックを取り上げてWWDC22の振り返りを行う企画です。WWDCはAppleが提供するOSやサービスの最新情報をキャッチアップする良い機会ですが、そのコンテンツの量や大きさにはボリュームがあります。この記事ではiPhoneのロック画面、iPadのデスクトップ級の機能およびパスキーに絞ってご紹介するので、これらの要点を知りたい方はぜひ読んでみてください。

「Live Activities」の登場

 Live ActivitiesはiPhoneのロック画面に表示される新しい機能です。スポーツ試合の中継情報(図1)やタクシーが到着するまでの時間(図2)などのライブ情報を表示することができます。この機能を利用するとアプリ内で時時刻刻と変化する情報をiPhoneのロックを解除することなく確認できます。体験としては音楽や動画の再生中に進捗確認と操作をロック画面で行える既存の機能と近いと思われます。

 つまり、今までは音楽や動画再生などの一部の機能しかライブ情報をロック画面で表示できなかったのが、今回のアップデートによって全てのアプリの機能で表示できるようになったと捉えることもできそうです。

図1.iOS16のLive Activitiesを利用してロック画面にスポーツの試合の中継情報を表示している様子
図1.iOS 16のLive Activitiesを利用してロック画面にスポーツの試合の中継情報を表示している様子
図2.iOS16のLive Activitiesを利用してロック画面にタクシーが到着するまでの時間を表示している様子
図2.iOS 16のLive Activitiesを利用してロック画面にタクシーが到着するまでの時間を表示している様子

 Live Activityの実装は非常にシンプルな印象を持ちました。まずロック画面に表示するUIは下記のようにWidgetとして実装します。図3のコードは、Timerアプリの残り時間を表示するLive Activityを想定しています。通常のWidgetと異なりActivityConfigurationメソッドの引数にSwiftUIのViewを構築することによって、見た目を決定することができます。

 なお、アプリから送られてくる残り時間の情報はコード中のcontext変数に該当する変数から取得することができます。

図3.Live Activitiyの実装例
図3.Live Activitiyの実装例

 アプリからLive Activityにライブ情報を渡し更新するには下記のように、Activityのインスタンスを作成し、そのインスタンスに対してLive Activityの開始や更新を命令します。UI側の表示に用いるライブ情報の状態はActivityAttributesに準拠した型を作って表現します。それをActivityのインスタンスに渡すことによってライブ情報の開始や更新が行えます。

 下記のコードの例では、タイマーの残り秒数を状態として持っているTimerAttributesを生成し、Live Activityの開始や更新を行うメソッドに渡しています。下記のコードではActivityの終了を行っていませんが、終了を行わない場合は最大12時間ほどロック画面にLive Activityが残り続けるので注意が必要です。

 このあたりのLive Activitiesの表示・非表示の制御は開発者側の責任であるうえ、誤った制御を行うとロック画面というよく目にする画面に不具合が発生するため、実装するうえでの勘所になりそうだと感じました。

図4.Live Acitivityを制御する実装例
図4.Live Acitivityを制御する実装例

 なお、iOS 16の最初のリリースにはLive Activitiesは含まれない予定です。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Apple Watchだけでなく、iPhoneでもコンプリケーションの表示が可能に

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
iOSエンジニアたちと振り返るWWDC連載記事一覧

もっと読む

この記事の著者

k-kohey(STORES 株式会社)(k-kohey)

 STORES 株式会社テクノロジー部門モバイル本部にて、STORES 決済 のiOSアプリ開発に従事。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16885 2023/01/05 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング