iOSで音ゲーやるときの一工夫

この記事は[K3 アドベントカレンダー](https://qiita.com/advent-calendar/2019/k3-calendar)の16日目の記事です。
昨日は@MachiaWorxさんの[Unityで実装するクラシックなゲームの制御方法](https://qiita.com/MachiaWorx/items/d33ce558b7233550fb0e)でした。

---


こんにちは、@0koara0です

K3では2014年入学でNARC班所属でした。
NARC班長だったこともあります。

K3のアドベントカレンダーをやるということでOBとして他の現役生を煽ったら、
お前自身の名前がねえじゃねえかとツッコミを頂いたので、敷居を下げるという意味でも
技術っぽいけど技術じゃない軽いネタを書きたいと思います。

# はじめに

さて、皆さんはスマホで音ゲーってしてますか？

スクフェス、デレステ、ガルパと種類も増え、多くの人がやっていると思います。
そこで、ほとんどのスマホ音ゲーマーが体験するイラッとする瞬間といえば、
不意の**通知**ではないでしょうか。
対策としておやすみモードを設定するって、よくやると思います。
iPhoneならこのように設定すれば邪魔されることはないでしょう。（バッテリー系の通知を除く
![IMG_6540.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/2c4ee5bb-0b71-23e2-5b6a-745050f7eb66.jpeg)


しかしおやすみモードを切り忘れてて、一日LINEに気がつけなかった！ なんていうのもよくある話だと思います。

そこで今回はそこに一工夫をして自動でおやすみモードをONにして、自動でおやすみモードをOFFにしてみたいと思います。

# 方法

## 自動でおやすみモードをONにする
ショートカットに新たにiOS13で登場したオートメーションを使います。
ショートカットAppを開き、真ん中のオートメーションのタブ

![IMG_6577.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/20c18fbe-66a8-1418-f952-48100ff48f5f.png)


「個人用オートメーションを作成」を押すと、色々なトリガーを選択することができます。
今回は「Appを開く」を使っておやすみモードをONにします。
いつもやる音ゲーを選択したら、「次へ」
「アクションを追加」からおやすみモードを検索して、追加
「オフ」になっているところを「オン」に変えて、

![IMG_6578.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/d38d0b4c-8d2b-33b0-bf51-679b6c3483af.jpeg)

↑この状態になったら「次へ」
最後に「実行の前に尋ねる」をOFFにすれば完成！

やってみます。
Appを開いたときに、こんな通知が出たら成功です。

![IMG_6581.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/9c3b6de4-26ad-3751-738a-90bbacd47325.png)


## 自動でおやすみモードをOFFにする

さて、ここまでで自動でおやすみモードをONにすることはできました。
ここからは自動でOFFにする一工夫をしていきます。
パッと思いついた2つの方法を紹介します。

### よく使うアプリをトリガーにする
1つ目は自動的におやすみモードをONにした方法と同じで、
**よく使うアプリを開いたらおやすみモードをOFFにする設定を加える** というものです。

例えば、TwitterやLINE、Slackなど日常的に使うアプリを登録しておけば、
おやすみモードは基本的に解除された状態になるでしょう。

ただ、この方法の欠点として2点あって、
1. 時間指定でおやすみモードを設定している人は指定したアプリを開くと、勝手に解除されちゃう。
2. 指定したアプリを開くときにおやすみモードのON/OFFに関わらずバナーが出る

1.についてはまあ諦めても良かったんですが、2.については結構鬱陶しいので次の方法を考えました。

### 時間をトリガーにする
すごく妥当で単純な方法ではあるんですが、この方法がいい感じでした。
**音ゲーを開いてから○分後におやすみモードをOFFにするように設定する。**
という設定をしています。

先程作った自動でおやすみモードをONにするオートメーションを編集していきます。

この画面から編集していきます。
![IMG_6578.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/d38d0b4c-8d2b-33b0-bf51-679b6c3483af.jpeg)

下にある青い＋から「日付を調整」を追加します。
追加したら、設定をしていきます。
「日付」を長押しして「現在の時刻」を指定、「現在の日付」を更にタップしてフォーマットを選択します。**(重要)**
日付フォーマットを**ISO 8601**
時間フォーマットを**ISO 8601時刻** に設定します。
時間を指定するところにはOFFにしたい長さの時間を設定します。
「加算」はそのままでOKです。

そうしたらカレンダーって書いてある箱を長押しして、上にドラッグして順番を入れ替えます。


最後におやすみモードの設定を「オフ時」から時間に設定して、
時間を指定する欄をタップして「調整済みの日付」に変更します。
こちらも日付と時間のフォーマットを**ISO 8601**にしておきましょう

ここまで設定すると、こんな感じになったと思います。
![IMG_6584.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/18835821-e4d6-56cb-d5d8-e9ec04b2c728.jpeg)


これで指定したアプリを開くと1時間後におやすみモードが自動的に解除される設定ができました。
![IMG_6585.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/127939/e4617fe4-f297-f603-4ddb-cb914359be64.jpeg)

# おわりに
いかがでしたでしょうか。
iOS13で追加された、オートメーションを使ったおやすみモードの自動ON/OFFを紹介しました。
技術的なことは一切していませんが、なんとなく設定をいじるだけでちょっとした自動化ができました。

このオートメーションは他にも位置情報やWi-Fiの接続状況をトリガーにしていろいろなことを自動化できます。
毎日やってることを少しでも自動化して、ちょっと便利な日々を送ってみてはいかがでしょうか。

明日は現役生にして、このアドベントカレンダーの企画者@hatopoppoK3くんの担当です。

---

## おまけ
ISO 8601とはなんぞやという話を

ISO 8601とはISOが定めた日付と時刻の表記に関する国際規格。
例えばJSTの2020年2月22日の2時22分22秒を表そうとすると
2020-02-22T02:22:22+09:00