0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChatGPTとCopilot Editで個人 iOS アプリを公開するまでの記録

Posted at

はじめに

個人的に作りたいアプリはあったのですが、なかなか手を付けられずにいました。
会社では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を活用することで、大幅に時短できました。
理想的なコードを一発で作ってくれるわけではないですが、プロンプトの工夫次第で、個人開発でも十分に恩恵を受けられると実感しました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?