さかなの思い

競技プログラミングの話が主になるかもしれません

App storeでiOSアプリを公開するまでにやったこと

iOSアプリを作りました
制限時間内に素因数分解をしていくゲームです

ガチ素因数分解

ガチ素因数分解

  • Chikai Ito
  • Games
  • Free
apps.apple.com

この記事の目的

  • 備忘録、やったことの復習
  • iPhoneのゲームを作ろうと思っている人への参考
  • アプリの宣伝

1 環境構築

自分のMacにいつの間にか入っていたXCodeを用いる
フレームワークはかなり迷ったがSpriteKitというものを使うことにする
(実はUnityにしておけばよかったなと思うことが少しだけあります)

2 学習

2-1 Swift

Swiftの学習を行う
Web上にも多数の文献があるが、ちまちま参照しているのも勿体無いなと思ったので本を買う

www.amazon.co.jp

Swiftの文法は特別難解ということはないけど、競技プログラミングしかしない人(ぼくのことです)とかには辛い部分がある
例えばオプショナル型、デリゲートなど
また、本には一般的なiOSアプリの作り方なども参考例とともに詳しく載っていたので買っておいて損はなさそう?

2-2 SpriteKit

ここのチュートリアルがとても優秀SpriteKit Tutorial for Beginners | raywenderlich.com
このサイトがなかったらアプリは完成していなかった

ドキュメントが大量にある
頑張って必要そうなところだけ読みましょう

3 実装

辛いけど頑張る
プログラミング自体よりもUIを考えたりとか画面遷移とか効果音の鳴らし方とか、そういった部分に時間を食われたような記憶がある
Swiftは意外と文献が少ないので(やってはいないけど多分Unityとかと比べると圧倒的に少ない)、大変

4 リリース

アプリをリリースする
ここのリンクが参考になりました
[2018年版] よく分かる!iOSアプリのリリース手順のまとめ | Developers.IO

紹介文とかスクリーンショット、プライバシーポリシーなどが必要となる
結構めんどくさくて放置しがち

審査は一週間くらいかかると聞いていたけど実際には2日くらいだった

5 教訓

  • リリースしてすぐにバグが見つかった

当たり前だけどバグはない方が良いとされている
アプリを公開した場合、普通公開した直後が最もインストールされやすいので、公開してすぐにバグがみつかるのはかなり致命的だと思っています
さらにバグを修正しても先述したように審査にはさらに2日くらいを要する、アップデートが反映されるまでにブームが落ち着いてしまうとかなり勿体無い

  • 難易度が高すぎた

これは僕が難易度の高いゲームが欲しかったからというのもあるけど、大衆ウケを考えたら難易度を選択できるようにしておけばよかったと感じている

  • テストを何人かにしてもらった方が良い

UIの使いづらさとかデザインの見やすさみたいな項目は、製作者には絶対わからない内容なので、公開する前に何人かに遊んでもらって
事前に感想を聞いておいた方がいいなと感じました

  • 作る前に仕様書を書くべき

今回は結構適当に思い付きでコードを書いていたので、終わってみればとてもデバッグのしづらいコードになっていました
一旦思考を整理するためにもアプリを作る前にはまず仕様書を書いた方がいいなと感じた

  • iPhoneユーザーを意識すべき

僕はiPadしか持っていないのでほとんどのデバッグiPadでやっていたのですが、アナリティクスによるとほとんどのユーザーはiPhoneを使っていました
そのため、iPhoneで見たときのUIを意識して設計しないといけなかったです

6 次回への展望

今回公開したアプリはiOS版のみだったので、次回は別の言語を用いてAndroid版のリリースにも挑戦しようと思います。
最後まで読んでくださりありがとうございました!