はじめに
個人的に作りたいアプリはあったのですが、なかなか手を付けられずにいました。
会社ではCopilot Editやエージェント(Copilot Agent)を使い始めており、「これを使えばサクサク作れるのでは?」と思い挑戦してみました。
この記事ではその開発の流れを紹介します。※アプリのアイデア出しやプロンプト作成にはChatGPTを活用しました。
Copilot Editとは
従来のCopilot Chatではチャットで指示を出すとコードが提示され、それを手動でコピー・ペーストする必要がありました。
しかしCopilot Editではチャットで指示すると、直接コードを編集・生成してくれます。
料金
Copilot ChatをIDEから利用するには、Copilot Proプランが必要です。
個人向けプランは月10ドル、年払いなら100ドルです。私は「年間15,000円程度で使えるならむしろお得」と思い、課金しました。(初回30日間は無料)
開発の流れ
ざっくり以下の手順で開発しました。
1. ChatGPTでアプリ名と必要な機能を決める。
2. XcodeでiOSアプリのプロジェクトを作成する。
3. ChatGPTに「Copilot Editで実装を依頼するためのプロンプト」を作ってもらう。
4. プロンプトを調整し、VS CodeのCopilot Editで実行。→ 修正を繰り返しながら形にしていく。
5. GPTにレイアウト・デザインの改善案をもらい、UIを調整する。
6. GPTにアプリアイコンを依頼する。
7. App Store Connectにアップロードして申請・公開。
AI活用
ChatGPTにアプリ名やファーストリリースで必要な機能を相談
アプリのアイデアは決まっていたので、ChatGPTと壁打ちしながら最小の機能を整理しました。
- 親の感情記録アプリというのを作ろうとしているのですがXcodeプロジェクト名の候補を教えてください
- ノートアプリのような感じで記録できるのが良いと思いますがファーストリリースとしてはどんな機能が必要だと思いますか
- 毎回フリーテキストで入力させるの結構手間じゃない?
- 3回もタップするの大変じゃない?(しつこいけど)
Copilot Editを使うつためのGPTにプロンプトを作ってもらう
雑な指示ですが、相談していたチャット上で「というわけでプロンプトください」と伝えます。
- チャットの流れで、「Copilot Editで実装をやらせたいので、プロンプトを作ってくれない?」と依頼。
すると、以下のようなプロンプトが生成されました。
// EmotionInputView.swift
// SwiftUI を使用して親の感情記録アプリの入力画面を作成する
//
// **要件**
// ✅ ユーザーは「感情」をボタンで選択できる(必須)
// ✅ 「子どもの行動」「自分の行動」はチェックボックス(任意)
// ✅ 「メモ」は自由記述(任意)
// ✅ 「保存」ボタンは常に画面下に固定される
//
// **UI レイアウト**
// - 感情ボタン(最上部・横並び)
// - 子どもの行動チェックボックス(複数選択可能)
// - 自分の行動チェックボックス(複数選択可能)
// - メモ入力欄(シンプルな TextEditor)
// - 「保存」ボタン(画面下に固定)
//
// **注意点**
// - StateObject などを使い、選択データを管理する
// - レスポンシブなデザインにし、タップしやすいサイズで配置する
// - SwiftUI の ScrollView を活用し、画面がスクロール可能な構成にする
//
// **コードの作成を開始**
これに対して、私はプロジェクトの構成に関する注意点を追加しました。
// **注意点**
// - ContentViewは入力した情報を一覧表示するViewです。このViewは作成済みですが、Swift Data有りで作ったデフォルトのプロジェクトのままになっている。
// - そのため既にあるItem.swiftは使わずSwift Dataを使用したEmotion.swiftを作成し、データ保存を行なう。
これをCopilot Editのチャット欄に貼り付け、作業を進めました。
ほぼ叩き台のコードにはなったので細かい部分は追加指示や自分で修正しました。
GPTにレイアウト・デザインの改善案をもらう
Copilot Editで作成したUIは標準的な見た目だったため、スクリーンショットとコードをGPTに貼り付け、デザインの改善案をもらいました。
こんな感じの見た目にしたのですが、デザインをもっと使いやすいようにしたい
実装はこれです。
import SwiftUI
...
やり取りを重ねてデザインを調整しアイコンもGPTに作成してもらいました。
その後App Storeに申請し、無事に公開されました。
最後に
ストアのスクリーンショットを見ていただくと分かる通り、まだシンプルな見た目です。
しかし、私は以前から「個人アプリを作って公開し、たまにコードメンテナンスをしたい」と思っていました。
ただ案出し→設計→実装→テスト→公開
という流れは時間がかかり、なかなか手をつけられませんでした。
今回生成AIを活用することで、大幅に時短できました。
理想的なコードを一発で作ってくれるわけではないですが、プロンプトの工夫次第で、個人開発でも十分に恩恵を受けられると実感しました。