プログラミング初心者がAIで作ったiOSアプリ、初アップデート!「推し旅貯金」1.1.0を公開するまで

初めてのアプリ公開から2日後、今度は初めてのアップデートに挑戦しました。追加したのは、貯金目標を「あとから編集できる」機能。プログラミング初心者の私が、Claude CodeとChatGPTを使いながら、自分でも確認を重ねて、バージョン1.1.0をApp Storeで公開するまでの記録です。

目次

はじめに:初めてのアプリ公開から、初めてのアップデートへ

2026年10月13日、私が作ったiOSアプリ「推し旅貯金」のバージョン1.0.0が、Appleの審査を通過してApp Storeで公開されました。その様子は前回の記事に書いています。

それから2日後の10月15日。今度は、初めてのアップデートであるバージョン1.1.0の審査を通過し、自分の手でリリースしました。

公開して終わりではなく、使ってもらって気づいたことを直していく。その最初の一歩になった1.1.0の話を、うまくいったことも、確認に手間がかかったことも含めて書いていきます。

なぜ1.1.0を作ろうと思ったのか

1.0.0では、一度作った貯金目標の内容を、あとから変えられませんでした。目標金額や目標日を変えたいときは、目標を削除して、新しく作り直すしかなかったのです。

しかも、目標を削除すると、入出金の履歴もすべて消えてしまいます。使ってくれた方から、目標金額や目標日をあとから変更したい、という要望がありました。

「貯金する目標が途中で変わる」のは、とても自然なことです。それなら、履歴を消さずに変えられるようにしよう、と考えました。

追加した「目標編集機能」

1.1.0で追加したのは、次のような機能です。

  • 目標の詳細画面に、鉛筆アイコンを追加
  • 目標名、カテゴリ、アイコン、目標金額、目標日、メモを編集できる
  • 保存すると、詳細画面と一覧画面に反映される
  • キャンセルや戻る操作では、何も保存されない
  • 目標金額や目標日を変えても、入出金の履歴や予算項目は消えない
  • 残り金額、達成率、毎月必要な貯金額は、新しい条件で自動的に計算し直される

「現在の貯金額」は、あえて編集できないようにしました。この金額は入出金の履歴から計算しているので、直接書き換えると履歴との整合性が取れなくなるからです。

また、入力のチェックも入れています。金額は1円以上の数字だけ、日付は実在する日付だけ保存できます。

作りとしては、新しい画面を一から作らず、すでにある「目標を作る」画面を、編集でも使えるようにしました。データの保存形式は変えていないので、すでに使っている方の目標や履歴が失われることはありません。

Screenshot

Claude CodeとChatGPTを活用した開発の進め方

今回も、開発の中心はClaude Codeでした。ChatGPTも併用しています。

Claude Codeとは、指示を出すとコードを書いたり直したりしてくれるAIのツールです。ただ、AIに「編集機能を作って」と丸投げしたわけではありません。最初に、いくつか条件を伝えました。

  • まず既存のコードを調べて、問題点や注意点を説明してから、作業を進める
  • 変更する前に、方針と変更するファイルを説明する
  • 既存の目標データや、履歴を失わない
  • コミュニティ機能など、関係のない部分には手を加えない
  • 変更は、必要最小限にする

この順番で進めたことで、何を、どこまで変えるのかを、変更前に自分で把握できました。

自分でもコードを確認しながら進めたこと

AIが出してくれたものは、そのまま受け入れず、自分でも確認しました。

変更前には、方針と対象ファイルの説明を求めました。実装のあとには、作ったコードや、作業用のスクリプトを、実行する前にもう一度見直してもらいました。

そうした見直しの中で、直した点がいくつかあります。

  • 目標日に「2月31日」のような存在しない日付を入れても保存できてしまう(これは1.0.0から、新規作成にもあった問題でした。1.1.0で、作成と編集の両方を直しました)
  • 保存ボタンをごく素早く連打すると、保存の処理が2回走るかもしれない(二重に実行されないようにしました)
  • 以前のバージョンで保存した、存在しない日付の目標は、編集するときに日付を直すまで保存できない(直すよう案内を表示するようにしました)

自分の目で見直してはじめて気づけたことが多く、「AIに任せて終わり」にしなくてよかったと感じました。

動作確認や修正など、公開までの試行錯誤

コード上の確認

実機で確認する前に、まず、コード上でできる確認をしました。

  • 保存や計算のロジックの確認:29項目
  • 画面の動作の確認:61項目(新規作成、編集、キャンセル、削除、保存の連打、再起動後の読み込みなど)
  • iOS向けにまとめられる(ビルドできる)かの確認:2回

ただし、これは実機の代わりに、画面の部品を置き換えて行う簡易的な確認です。本物のiPhoneでの確認の代わりにはなりません。

実機での確認

そのうえで、自分のiPhoneの実機で確認しました。

  • 目標の編集と保存:問題なし
  • 入出金履歴と予算項目が残る:問題なし
  • キャンセルと戻る操作:問題なし
  • アプリを再起動してもデータが残る:問題なし

地味に大変だったGitの準備

意外と手間がかかったのが、Git(コードの変更履歴を記録する仕組み)の準備です。実は、1.0.0のときは、コミット(記録)が1回もない状態でした。

1.1.0に向けて初めてコミットを作るにあたり、秘密情報が混ざっていないか、不要なファイルが入っていないかを、何度も確認しました。除外のルールを書いたファイルに、文字化けしている日本語のコメントを見つけて直したり、原因のわからない謎のファイルをコミットの対象から外したりもしました。

結局、10月14日にコミットを作り、同じ日にビルドの作成まで進みました。

App Store Connectでの提出とAppleの審査

バージョン番号は、1.0.0から1.1.0に変えました。すでに公開されている1.0.0と同じ番号のままでは、アップデートとして提出できないためです。ビルド番号は、ビルドを作るサービスが自動で4に上げてくれました。

ビルドは10月14日に作成し、その日のうちにApp Store Connectへアップロードしました。そのうえで、App Store Connectから、バージョン1.1.0を審査に提出しました。

審査通過、そして自分でリリース操作

そして10月15日、審査を通過しました。

今回は、審査を通過してもすぐに公開されず、自分でリリース操作をするかたちにしていました。審査の結果が出たあと、自分のタイミングでリリースのボタンを押します。

初回の公開のときとは違い、緊張感はありつつも、「何が起きるのか」を知っている分、落ち着いて進められました。

初めてのアップデートを経験して感じたこと

  • 公開したあとにも、直したいところや、足したいものが出てくる
  • 小さな機能追加でも、確認と公開の手間はしっかりかかる
  • AIに任せきりにせず、自分でも確認する姿勢が、結局は安心につながった
  • 前回の経験があったので、2回目はどこで何をするのかが見えていた

今後の個人開発について

公開後は、コミュニティに届く通報の確認など、運用も続けていく必要があります。使ってくれた方の声を聞きながら、少しずつ改善していきたいと思います。

「推し旅貯金」は、App Storeで「推し旅貯金」と検索すると見つかります。よければ、使ってみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次