【制作メモ】こだまみくじリニューアルについて

こだまみくじがAppStoreから消えた!?

こだまあるきをリリースした後、「あれ?」っと思ってAppStoreでこだまみくじを確認したところ、Appleによってストアから削除されていたことが発覚しました。
「最近アップデートしていないし、利用者が少ないから・・」みたいな理由で削除されていた模様です。
どうやら、増え続けるアプリを間引くために古いアプリで一定の基準に達しないものは削除されてしまうようです。

こだまみくじはメインアプリなので、一刻も早くAppStoreには掲載したい。
そんなわけで今回はこだまみくじのリニューアル作戦についてのメモです。

Objective-CからSwiftに移植について

これまでのこだまみくじのプログラムソースを確認したところ、前回の更新は2016年だったようで7年くらいアップデートしていなかったようでした。
プログラムもObjective-Cで書かれており、多くのコードが「deprecated(非奨励、、古いから使わない方がいいよって感じの意味)」扱いとなっていて、動きません。
じゃあ、deprecatedになっているコードを書き直そうかとも思いましたが、もはやObjective-Cは古い言語扱いで資料も少なく細かな部分まで直すのは大変。
それよりはSwiftという言語で書き直した方が手っ取り早いという結論になりました。

こだまみくじiOSの各コンテンツ別移植検討について

Swiftに移植、、と言ってもすべて移植すると1ヶ月くらいはかかりそうです。今回の趣旨としては「こだまみくじをできるだけはやくAppStoreに再掲載したい」ということなので、移植するコンテンツを取捨選択することにしました。
以下、コンテンツリストです。

Noコンテンツ概要メモ移植優先度
1こだまみくじ1日1回のおみくじ機能。これはメインコンテンツなので外せない。
→この前作った9本のおみくじから3本選ぶ仕様を流用。
→リニューアル追加機能として「昨日のこだまみくじ」を確認できる仕様にする。
2こだま語録TOPページのコンテンツ。アプリに頂いたレビュー見る限り外せない。
3時計表示TOPページのコンテンツ。いらないと言われるといらない気もする。
→なくてもいいが、レイアウト的にあってもいいかな。
4こだま絵馬数種類の絵馬をLIneとかに投稿できるコンテンツ。
使っている人は皆無???かも。
→まあでも絵馬はいるかな。
5こだまタロット今日のこだまタロットを表示。
使っている人は皆無。。
→8枚から1枚選ぶ感じにリニューアルすれば面白いかも???
6これ食べとけカード位置情報を取得して「大手町にいるならチャーハン食っとけ」という画像を表示。
使っている人は皆無。。
→一旦、削除でいいかな。
7こだまひとことフッターの吹き出し部分でいろいろつぶやいていたっぽい。
→とりあえずご飯メニューだけいれておこう。その他は後で見直し。
7ローカル通知1日に1回「こだまみくじ」の通知する機能。
→Swiftでどうかくか知りたいので追加!
8お知らせ画面これは別アプリの告知のために必須
→こだまあるきで作ったページを流用できそう。
9設定画面名前設定と、つぶやき文言設定、ローカル通知の設定

Swift移植で難しかったこと

3日くらいでできるかなと思いつつ、結局あれもこれも追加していると申請までに一週間かかってしましました。
難しかったリストは以下です。

  • SNS投稿機能
    →以前使っていた「SLComposeViewController」がdeprecatedになっており、一応機能はするがレイアウトが大きく崩れるので断念。今回は「UIActivityViewController」というTwitterに限らず投稿したいSNSを選択してから投稿画面に遷移するプログラムを採用した。
    (SNS選択という余分な画面を挟むのはどうかと思うのでいいのがあればそのうち改修したい)
  • 動くこだま
    これまではLive2Dで動くこだまを表示していたが、現状、SwiftでLive2Dを使うにはObjective-CをBridgeさせる必要があるようで、資料をみながら表示まではできたが、モーションの制御が難しそうだったので一旦断念。こちらはそのうち追加、、予定!
  • スプラッシュ画像(起動画面)
    SwiftというかXcodeでスプラッシュ画像の設定方法がStoryBoardでする仕様に変わっていた。これまでのアプリはロゴセンター表示程度の簡単なものだったが、今回は画面を見切れるくらいのサイズでキャラクターを表示したかったので、機種によっては変な見栄えになり苦労した。この設定が今回一番難しかった。
    「画像を右上を起点にしてアスペクト比を維持して画面いっぱいに拡大する」ということがしたかたが、2日ほどこちょこちょ触った結果その設定方法がわからなかった。
    で、下記のような画像で妥協することにした。。

    ■軌道画像のbefore/After
この元画像を再現したかったが、この1枚で作ると機種別で見切れ部分の制御が難しく、ジオングみたいになる時が・・・
完成した軌道画像。「背景」と「絵馬」、「神社」、「こだまと台詞」の4枚の画像を重ねて表示することで、見切れても見切れなくても大丈夫な感じにした。

論点:有料アプリ→無料アプリについて

今回のリニューアルにより最大の論点となったのが「アプリを無料にするかどうか」ということです。
この議論はずっとあったのですが、基本的に「こだまみくじ以外のアプリは無料アプリにして、こだまみくじは有料にする」という戦略でした。
しかし、今回AppStoreから削除された理由のひとつとして「インストール数が少ない」ことがあげられていたので、今後のことを考えると無料アプリにしてインストールのハードルは下げるべきなのです。
但し、無料でした場合、過去に有料で買ってくれた人は損をした気分になってしまうはず・・・。。

いろいろ考えた結果、現状AppStoreから掲載されていないので、直近の購入者もいないのでは・・ということなので期間限定で3月中は「無料」ということで出してみることにしました。
3月の結果をみて無料の方がよさそうなら今後も無料という感じにしてみます。

その他:既知のバグについて

①データの保存バグ
おみくじ生成時にツイート用におみくじの結果データを保存しているが、保存されない時がある。
→別クラスでUIVIewを生成するとなぜか2回読み込まれていて、その当たりにバグがありそうだが、機能事態は動いているので調査はそのうち。
対応としては、ツイート時に結果データが保存されていない時は汎用テキストをツイートできるようにした。

②スプラッシュ画像の背景の表示位置
iPadなどでみると背景が拡大されず余白がでる場合あり。
→iPadユーザーは少ないはず、、なのでその辺はあきらめよう。そうしよう。

そんなこんなで、こだまみくじはリニューアルしました

以上、長々と書きましたが、
何はともあれ、こだまみくじをアップデートし、AppStoreにも無事掲載されました。よろしかったらダウンロードの方よろしくお願いします!

>>こだまみくじ iOS版