【Swift】個人開発でのAppStoreリリース周り・作り方の備忘録 ~中国語アプリをリリースしたのでまとめてみた~
とある知人から「アプリ作って」と言われ、暇だったので隙間時間でリリースしました。
この記事では技術選定や開発のやり方などをざっくり解説します。
どんなアプリを作ろうか考えている方・アプリの作り方を知りたい方だったり、何か参考になれば幸いです。
どんなアプリ?
中国語の学習アプリです。旅行やレストランなどで頻繁に使うフレーズを中心に学習できるようにしています。
また、リマインド機能や学習記録機能をつけてちょっと工夫しています。
個人開発アプリリリースで大事だと感じたこと
開発期間を決める
個人開発は自分との。やる気との戦いです。
忙しい中で、いかに自分をコントロールするかは期限を決めることで割とスケジューリングできます。
アーキテクチャやGit管理こだわりすぎない
開発技術を向上させたい目的ならここにこだわるべきですが、マネタイズやリリースしたいが強いのであれば、こだわりすぎるとどうしてもスピードが落ちます。
こちらは、この記事がかなり参考になりました。
気合い
自分が好きかどうか。やりたいと思うか根性論ですが、割と重要な気がします。
開発期間・言語
開発期間: 3ヶ月
開発中は、会社勤めだったため隙間時間を見て仕事前の1時間や週末に気が向いたらやっていました。
言語: Swift
Flutterに触る機会が多くなった中でSwiftが恋しくなりSwiftにしました。
UIKitのみでStoryBoardを使わず開発したいと思いSwiftのUIKitでの開発を選択しました。
(SwfitUIでのアプリもいつかリリースしたい…)
メイン機能
下記2つがメイン機能で割とシンプルなアプリになっています。
単語学習ページ
- カテゴリごとに分けて単語・単語の意味・発音記号を記載
- タップで音を出して発音を確認可能
- お気に入りボタンでリマインド設定(毎日20:00)
カレンダー記録機能
- 学習記録をメモ
- 指定日付の内容を削除
- 端末に保存
使用ライブラリ
- FSCalendar
- CalculateCalendarLogic
- Realm
- AVFoundation(標準ライブラリ)
- UserNotifications(標準ライブラリ)
カレンダーで王道なFSCalendarとSNS的な通信がないので簡単なDBとしてRealmを選択しました。
標準ライブラリのAVFoundationやUserNotificationsは割と汎用的に使えるのでアプリ開発の勉強にもなりました。
もっとおすすめの良いライブラリ等あればぜひコメントください。
アーキテクチャ
MVC
その際に人気で使いやすそうと言うことで今回はMVCにしました。
そこまで深くは調べてないです。
こちらのアプリのソースコード: https://github.com/katsualonso14/EverydayChinese
企画
使用ツール: Xmind
下記記事を参考にXmindが自分にもフィットしていて普段はXmindを使用して企画をしています。
参考程度に筋トレアプリを作成した際のものがこちらになります。
デザイン
デザインツール: Figma
知り合いにFigmaいいよと薦めれて使ったところ使いやすく最近はFigmaでデザインを作っています。
ただ、エンジニアなので作っているって言ってもあくまで、アプリのイメージを図にしているレベルなので、超低レベルのものです…
(もっと完成度の高いものであればここに貼ってましたがすみませんmm)
スクショの作成
割と簡単で無料でおしゃれな文言やスクショを作成してくれます。
課金すればよりそれっぽいものができると思います。
iconの作成
ググって出てきた割とシンプルな作成ツールです。
AppStore申請
こちらのサイトがかなりわかりやすく、順序立てて説明していただいています。毎回参考にさせていた抱いております。非常にわかりやすくオススメです。
その他
そのほかについては下記記事と同じ手順で実施しました。
2024年の今もあまり変わらない方法でできます。
最初は手間取りますが、慣れればAppStore申請も抑えるところを抑えればいけるよねって感じです。
最後に
最後までご覧いただきありがとうございました。
アプリの作成自体は簡単ですが、それを使ってもらう、マネタイズできるアプリにするのはまたさらに難しいです。その辺りも後日記事にできればと思います。
他にもこんな機能あれば良いとかこれって具体でどう使っているの等あればぜひコメント・DMください。
Discussion