こんにちは。
iOSエンジニアとして働き出して、早いもので1ヶ月が経ちました。1ヶ月前よりはできるようになっていることを願いつつ、4週目の学んだことを振り返っていきます。
今週はRealmとコントロールセンターのオーディオ情報操作についてです。
4週目ということで1週目よりも意識が低くなっている感じが否めません。これを書くために毎回エラーを解決した時にメモを取っているのですが、そのメモがこれまでに比べて今週は少なかったです。
来週からは再度気合を入れて頑張っていこうと思います。
SwiftのRealm
Realm(レルム)はモバイルアプリのデータベース管理に使われるもので、比較的新しいシステムです。データベースアクセスが高速である上に実装も難しくありません。
正直にいうと、Realmはたまたまエラーで引っかかったところに出てきたことから調べたので、どうやって実装するかについて詳しく学んだわけではありません。
今回のところは、とりあえずRealmを使えば、モバイルアプリのデータを管理できるというところを押さえておこうと思います。
Objective-Cでのコントロールセンターのオーディオ情報操作
Appleの公式ドキュメントを参考にしました。
不具合修正でコントロールセンターのオーディオ情報が正しく表示されていない、というものがあったり、そこの修正時に出てきました。結果的にはこの部分ではなく、データを作っているところの修正ではありましたが、ついでにこれについて調べてみました。
オーディオ再生処理について調べていると、次の二つのクラスが出てきたので、それぞれどういう使い方をするのかまとめてみました。
- MPRemoteCommandCenter
外部アクセサリ(イヤホン等)やシステムコントロールから送られるアクションに答えるもの
- AVAudioPlayer
ストリーミング再生や非常に低いI/Oの遅延時間が求められる場合を除いたオーディオ再生に使われる
どちらもは基本的な再生、停止、ボリュームの変更といった操作はできますが、MPRemoteCommandCenterの方は評価やブックマーク、言語変更の機能まで対応しています。
以上!