本文へ移動
YOSHITAKEapp

果物狩りナビアプリ「もぎたび」をリリースするまでの全記録【SwiftUI + 1,396農園データ】

目次(16)
  1. はじめに
  2. アプリの概要
  3. 主なコンセプト
  4. 対応果物(16種類)
  5. 農園データ数
  6. 技術スタック
  7. 実装した全機能
  8. 1. ホーム画面
  9. 2. マップ画面
  10. 3. 農園詳細画面
  11. 4. レコメンド画面
  12. 5. 費用シミュレーター
  13. 6. 品種チャート
  14. 7. お気に入り管理
  15. 8. オンボーディング・通知・ATT
  16. 【有料】もぎたびで実際に使った「良いプロンプト」全6原則

はじめに

2025年、果物狩りに行こうとしてスマホで検索したとき、思ったのは——「探しにくい」。

Googleマップで「いちご狩り 近く」と調べると、農家の公式サイトやまとめブログがバラバラに出てくる。地図で一覧できない。品種がわからない。費用がわからない。

「これ、アプリにしたら便利じゃないか?」

そこから「もぎたび」の開発が始まりました。

この記事では、アイデアの着想からv1.2のApp Storeリリースまでの全工程を書きます。使った技術・躓いたポイント・App Storeリジェクトの対応まで、全部公開します。


アプリの概要

もぎたび(FruitNavi)は、全国の果物狩り農園を探せるiOSナビアプリです。

主なコンセプト

  • 地図から農園を探せる

  • 果物の種類・旬の時期で絞り込める

  • 費用シミュレーター(交通費 + 入園料)で事前に予算が立てられる

  • 品種の味チャートで「どの品種にしようか」が選べる

対応果物(16種類)

いちご・さくらんぼ・ブルーベリー・もも・ぶどう・梨・りんご・みかん・キウイ・メロン・スイカ・柿・いちじく・プルーン・びわ・マンゴー

農園データ数

1,396件(全件実在確認済み)


技術スタック

項目内容
言語Swift
UIフレームワークSwiftUI
アーキテクチャMVVM
地図MapKit(MKMapView、クラスタリング)
データローカルJSON(farms_real.json)
広告Google AdMob(バナー + インタースティシャル)
課金StoreKit 2(IAP: 広告削除 ¥300)
通知UserNotifications

AI支援は Claude Code を活用。設計・実装・デバッグをすべてペアプロ形式で進めました。


実装した全機能

1. ホーム画面

  • 月別旬フルーツ表示:今月旬の果物をカード形式で表示

  • おすすめ農園:評価・距離・営業状況を加味したランキング

  • 近くの農園5件:位置情報取得 → 半径内を自動ソート

2. マップ画面

  • 全1,396農園をピン表示

  • クラスタリング:ズームアウト時に自動でグループ化(パフォーマンス対策)

  • フルーツフィルター:チップUI で絞り込み

  • 農園名・都道府県でのテキスト検索

3. 農園詳細画面

  • 農園名・住所・電話番号・説明文

  • 取り扱い品種一覧・旬の月

  • タグ表示(家族向け・ペット可・直売所あり 等)

  • クチコミ投稿・閲覧

  • Apple Maps / Google Maps への直接遷移ボタン

  • 5回閲覧ごとにインタースティシャル広告(収益化ポイント)

4. レコメンド画面

  • 条件検索(果物・時期・都道府県・価格帯)

  • 品種から探す:食べたい品種を選んで農園を逆引き

  • 今日営業中フィルター(曜日・月情報を照合)

5. 費用シミュレーター

  • 出発都道府県・交通手段(車/電車/バス)・人数を入力

  • 交通費 + 農園入園料の概算を自動計算

  • 「予算に収まる農園を探す」ボタンでそのままレコメンドへ

6. 品種チャート

  • 甘さ × 酸味の二軸レーダーチャート

  • 全16種類の果物・主要品種に対応

  • 「どの品種が自分好みか」を視覚で確認

7. お気に入り管理

3つのリスト管理:

  • ❤️ お気に入り

  • 🔖 気になる

  • ✅ 行ったことある

UserDefaults に保存。アプリ再起動後も維持。

8. オンボーディング・通知・ATT

  • 初回起動時のオンボーディング(スワイプ形式・5ページ)

  • 旬の時期が来たら通知


【有料】もぎたびで実際に使った「良いプロンプト」全6原則

悪い例との違いを意識しながら読むと、構造がより明確に理解できます。