LiveActivityで出る例外で3つのパターンで同じ例外が出てややこしかったので紹介します。
例外について
今回扱う例外は以下のメッセージが出るものです。
「com.apple.ActivityKit.ActivityInput error 1.」
LiveActivityをリクエストする際に出るものなのですが、
主に許可されていない場合に出るエラーメッセージの様です。
Info.plistで許可していない
Info.plistで許可していない場合に出ます。
設定忘れでないか確認して下さい。
Supports Live ActivitiesまたはNSSupportsLiveActivitiesのKeyです。
Yesになっている事を確認して下さい。
![](https://thwork.net/wp-content/uploads/2022/10/スクリーンショット-2022-10-20-0.54.04-1-1024x435.png)
LiveActivityを拒否してしまった
LiveActivityはロックスクリーンに初めて表示された時に、
表示の可否についてのボタンが表示されます。
![](http://thwork.net/wp-content/uploads/2022/10/Simulator-Screen-Shot-iPhone-14-Pro-2022-10-20-at-01.41.15-473x1024.jpg)
この可否ボタンはLiveActivityインスタンス1つに対してのものではなく、アプリ全体の設定のものです。
要は通知の可否のアラートと同じようなものです。
これは今までの通知などのアラートと異なる形式なので、
LiveActivity一つを非表示にするだけと勘違いしてしまうかもしれません。
拒否してしまった場合は設定アプリから変更が必要です。
![](http://thwork.net/wp-content/uploads/2022/10/Simulator-Screen-Shot-iPhone-14-Pro-2022-10-20-at-01.43.43-473x1024.jpg)
![](http://thwork.net/wp-content/uploads/2022/10/Simulator-Screen-Shot-iPhone-14-Pro-2022-10-20-at-01.43.46-473x1024.png)
こちらに関してはユーザーも初めて見る時は間違ってしまう可能性もあるので、
実際にアプリに実装した際にはLiveActivityをリクエストする前に説明した方がいいかもしれません。
上限数に達した
LiveActivityには上限があるのか、1つのアプリから5つまでのようでした。
6つ目をリクエストした際にエラーが出ました。
環境や条件で異なる可能性はありますが上限がある事を覚えておいて下さい。
数は簡単に取得できるので、しっかり管理し同時に出しすぎない様にしましょう。
Activity<〜Attributes>.activities.count
最後に
LiveActivityで出やすい例外についてでした。
許可されていないという区分だからか、プロジェクト側の設定とユーザー側の設定で同じメッセージが出て分かりにくいポイントでした。
もう少し細かく区分を作って欲しいですね。
LiveActivity関連では、Appleのドキュメントにあるサンプルコードを動かす記事もあるので良ければ見てみて下さい。
コメント