2016年10月開発状況

前月に引き続きRepete Plusの開発中。
また、今月は懸案だったRepeteのiOS 10, Swift 3対応を行いました。

Repete PlusはRepeteの機能追加版です。
* オーディオファイルの区切り編集機能
* 曲送り・曲戻し
* 早送り・戻しでの秒数指定
* テキストメモ機能

が主な追加機能です。

10月末時点での開発中動画。


* ピンチ操作でオーディオデータ表示を拡大
* 不要な区切り点をタップ操作で削除
* チェックマークをタップして、再生/再生不要を切り替え


上旬

Repete PlusのUI部品の作成と配置、アプリアイコン作成を行いました。
なかなか定まらず、泥沼に。

テキスト編集ボタンとオーディオ編集ボタン

初期案

editor_fullscreen1008v1
ペンアイコンでテキスト編集ボタンを示しました。オーディオ編集ボタンをどのような図案にするか悩みました。オーディオ・ビデオ編集では「はさみ」を図案化したものなどがありますが、実際にやってもらう操作とそぐいません。Repete Plusでは「水滴」状の区切り点マークをタップやドラッグします。そこで、この「水滴」状マークを図案化してペンアイコンと雰囲気を揃えたものとしました。
白地に円形のボタンにしました。しかし、唐突感があって馴染んでいません。また、それぞれテキストに関連している、オーディオに関連しているというのがわかりづらいです。

中期案

editor_fullscreen1009v2
テキスト編集ボタンとオーディオ編集ボタンを再生関連ボタンに合わせて薄い浮き彫り風に変更。
また、対応しているエリアと線で結びました。
線で結ぶというアイデアはうまくいっていません。

決定案

editor_fullscreen1009v3
アイコンの図案の向きを変更して、対応エリアとの結びつきを強めました。
また、アイコンの位置を対応エリアに食いこませました。
再生関連ボタンの形状に準拠した角丸四角形に変更しました。

アプリアイコン

Repeteの後継であり、機能追加版であることを示すものにしようとの思い。

初期案

icon-old-120_white
ごちゃごちゃしすぎました。

シンプルに。
Repeteで用いていたふきだしをメインにしましょう。
ただ、ふきだしのアプリアイコンは、世にいろいろあります。Appleの「メッセージ」も緑にふきだし。
アイコンがならんでいるなかで、どれだっけと迷わずにえらべるものにする必要があります。

決定案

repete_plus_icon_120_white
周りに波のグラデーションを描きました。
発声を繰り返し繰り返し続けていくイメージを表現しています。

中旬

RepeteのiOS 10、Swift 3対応を行いました。
iOS 10からは、メディアライブラリへのアクセスの際に、アクセスを許容するかどうかの確認が入りました。
そこで「許可しない」を選ぶと、以後、選曲時にアプリが強制終了する不具合がありました。
Swift 2.3(移行時用の暫定バージョン)ではなく、Swift 3(Xcode 8でのスタンダードバージョン)に一挙に移行しようとして処理を進めましたが、ひどく時間がかかってしまいました。

外部ライブラリ(クラウドストレージ用のライブラリ)を対応させるのに時間がかかりました。
CocoaPodsを機能させるのに試行錯誤、ライブラリのAPIのバージョンが新たになったのでそれに対応させる、などなど。

また、表示崩れが生じている部分を修正。
iOS 10では、viewDidLoad時にconstraintのwidth,heightが反映されないので、そのため生じたレイアウト崩れを修正。
また、non-stopボタンの文字部分の描画をAutodesk Graphicが生成したコードで行なっていたが、ここでエラーが発生したので、UILabelに置き換えました。
UILabelに”Non-stop”と適切に描くためにNSAttributedStringを使用しました。

下旬

区切り情報、再生/非再生情報などを保存するために、Repete Plusでは、Realmを用いることにしました。
Realm: Create reactive mobile apps in a fraction of the time
外部ライブラリの使用では、ライブラリの導入段階でつまづき、サンプルがそのままでは動かないという事態が毎回のように発生していました。
なので、Realmを使うときもおそるおそる進めていったのですが、使ってみるととくにトラブルなくスムーズに導入、実行ができました。
ドキュメントも充実していて、なんといいますか、すごく心地よく作業を進めることができました。

Repeteでは、メディアライブラリアイテムのみ区切り情報をCoreDataを使って保存して、分析時間の短縮に用いていました。この機能はなければないで、(ちょっと分析に時間がかかるとはいえ)やっていけたのですが、今回のRepete Plusではそうもいきません。
Repete Plusでは、再生されたファイルを照合し、データベースにあれば、区切り情報、区間の再生/非再生情報、再生日時を呼び出す仕組みとしました。再生日時は、選曲画面の履歴タブに用います。

関連

2016年6月開発状況 – nackpan Blog
2016年7月開発状況 – nackpan Blog
2016年8月開発状況 – nackpan Blog
2016年9月開発状況 – nackpan Blog
2016年10月開発状況 – nackpan Blog
2016年11月開発状況 – nackpan Blog
2016年12月開発状況 – nackpan Blog
2017年1月開発状況 – nackpan Blog
2017年2月開発状況 – nackpan Blog

投稿者:

nackpan

nackpan

iOSアプリを作っています。 リピーティングに便利な「語学学習支援プレイヤー」つくりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です