Contents
Salmonia3

秘密裏に進めていたSalmonia3のApp Storeの審査ですが、二回のリジェクトを経て無事リリースすることができました。
上のURLからインストールすることができるので試してみてください。
Salmonia2はどうなったの
Salmonia2を使われていた方ならご存知かと思うのですが、Test Flight版としてSalmonia2の開発は進めていました。
にもかかわらず何故リリースしたのがSalmonia3なのかと疑問に思われる方もいるかも知れません。本記事ではSalmonia3の展望と、何故2ではなく3をリリースしたのかについて解説します。
Salmonia3をリリースしたわけ
一番の理由はSalmonia2のプロジェクトが大きくなりすぎたことが挙げられます。
開発を始めたのはちょうどトロントがロックダウンに入って暇を持て余していた2020年の6月頃だったと記憶しているのですが、開発中に一回プロジェクトを中断して新しく作り直したという経緯があります。
というのも、書けば書くほどコードが複雑化して「これ、もっと楽に書けたよな?」と思い返すことが増えたためです。
なのでいま開発していたSalmonia2はSalmonia2のバージョン2とも言えるわけです。
このSalmonia2は割といい感じに開発できていたのですが、「しっかりしたものができてからリリースしよう」と考えていたためようやく形になるまでに半年ほどかかってしまいました。
大まかな機能が全て完成したのがちょうど2020年の12月頃になります。このあたりからは新規機能の追加ではなく、リリースに向けてのバグ調整などを行っていました。
審査が通らない
ところが、Salmonia2はなかなか審査に通りませんでした。というか、今でもまだ通っていません。
その理由は1では実装してこなかったGoogle AnalyticsやAdmobやIn app purchaseなどが挙げられます。ここの理解が不十分だったために、コーディングが甘く、審査に何度も弾かれました。
特に課金処理はSwiftyStoreKitを使っており、コーディング自体は楽なのですがいiTunes Storeから課金情報がとってこれないなどApple側にバグとしか思えないような問題があって大変にめんどくさかったです。
アカウントがログインできないとかしょうもないことをずっとつつかれるのでこれをリリースするのは諦めてしまいました。
シンプルなアプリに機能を追加していく
個人的にはTest Flight版でずっと開発を続けてもいいのですが、導入がめんどくさい上にやはりApp Storeから検索できないというのは大きなディスアドバンテージです。
しかも、Test Flight版では課金処理ができませんし、広告も載せられません。つまり完全にボランティアです。
今は一部の方からご支援を頂いていますが、これは一部のユーザに負担をかけ続けてしまうことになります。それは避けたいところです。
そこで、まずは基本的な機能がついたアプリをリリースし、アップデートでどんどん機能を移植していくことにしました。広告や課金処理がなければアプリをリリースするのはさほど難しくないですし、アップデートで弾かれるのであればそれまではアップデートがないバージョンのアプリとして使って頂けることになります。
また、感覚的にも最初の審査が一番キツく、アップデート自体は比較的甘い気がしています。なので、「とりあえずはアプリをリリースする」という方針に切り替えることにしました。
Salmonia2と3の比較
機能 | Salmonia2 | Salmonia3 |
リザルト取得 | ◯ | ◯ |
リザルトアップロード | ◯ | ✕ |
リザルト詳細 | ◯ | △ |
リザルト取り込み | ◯ | ✕ |
シフト統計 | ◯ | ✕ |
将来のシフト閲覧 | ◯ | △ |
WAVE記録閲覧 | ◯ | ✕ |
複数アカウント | ◯ | ✕ |
ゲーミング機能 | ◯ | ✕ |
広告表示 | ◯ | △ |
Salmon Stats閲覧 | ◯ | ✕ |
ステージ記録 | ◯ | ✕ |
というわけで、現在のところはリザルトを取得してローカルに保存するだけの機能しかありません。
アップロード機能がないのでアプリを削除するなどしてしまうと全ての記録が失われます。Google Apps ScriptやPC版のSalmoniaを使うなどして別途アップロードしてください。
なんでアップロード機能を削除したのか
アップロード機能をなくしたのは単純にログイン機能が未完成なためです。
現在はWebKitという最新のSwiftUIでは削除されている機能を無理やり再現して実装していますが、これが個人的には好きではありません。
WebKitを使って認証情報を取得するというプロセス自体がバグを生みやすく、ログイン失敗自体がそもそも多いためです。
Salmon Statsの認証自体は単にTwitter認証をしているだけなのでSalmon Stats側がAPIを整備してくれれば認証率100%の素晴らしいシステムができます。こういうシステムができるということがわかっている以上、わざわざ認証率の低いレガシーな実装をする気になれないのです。
ただ、手動でアップロード用のトークンを設定できるような機能はそのうち実装する予定です。
実装の優先度について
まず、必要最低限の機能であるリザルトの詳細を見れる機能を実装します。
既に機能自体は実装しておりAppleの審査待ち状態です。審査が通ればリリースができるので、早ければ来週の頭には公開できると思います。
Salmon Statsと連携するところはめんどくさいのでリザルトの取り込み機能は遅くなるかもしれません。広告機能や課金処理を優先しようと思います。
このあたりはSalmoniaに限らずアプリ開発で生計を立てる上で将来的に必ず必要になってくるので。
旧バージョンの対応について
Salmonia1の方は3の機能が充実次第、App Storeから削除してサポートを終了することを予定しています。
1はiOS9以上のサポートしかしていないので、こちらはもう切ってしまってもよいかなあと。
まとめ
アプリ開発の広告収入で生活したい!!!!
あと、最近喫茶ステラと死神の蝶っていう美少女ゲームにでてくる四季ナツメさんが可愛いと思い始めています。

記事は以上。
自身を天才と信じて疑わないマッドサイエンティスト。二つ上の姉は大英図書館特殊工作部勤務、額の十字架の疵は彼女につけられた。
コメント