📝

<day 3> 走らないと課金が走るアプリをvibe coding ~Apple Developer Programが反映されずイライラ^^

に公開

こんなアプリ作ってます。

  • ユーザーに今月いくらを預けるかを聞き、実際にお金を振り込む予約をする。
  • iPhoneかApple watchで、healthkitを通じてユーザーの走行距離計測
  • 強制的に走らざるを得ないので、日本人の運動習慣の貢献に寄与する。
  • ユーザーが元々設定した距離に満たない場合、ユーザーがあらかじめ設定したお金が運営に出金される。

心理学とか経済学におけるコミットメントっていう概念です。海外では類似アプリでStickkと言うアプリがあります。

良かったこと

  • healthkitの疎通が多分うまくいった。早く検証させろ。
  • iconできました。

あまりやれることがない。公開用のnotionのページを作る、とか、マーケの方法考える、ぐらいしかない。
テスト書いてない。そうだテスト書こう。

ステータス

  • Apple Developer Program: 1/23登録、まだ反映されず
  • アプリ状態: ほぼMVP完成、Sign in with Apple待ち

完了した機能

✅ Stripe決済

  • PaymentSheet統合完了
  • capture_method=manualで与信のみ取得
  • 実機テスト成功
  • PaymentSheet表示エラー修正(topmost ViewController対応)

✅ HealthKit連携

  • ランニングデータ取得実装
  • Info.plistにNSHealthShareUsageDescription追加
  • 実機で認証・データ取得成功

✅ バッチ処理(Edge Functions)

  • process-expired-challenges: 28日経過チャレンジの判定・決済処理
  • update-progress: 進捗更新
  • Supabaseにデプロイ済み

✅ GitHub Actions

  • .github/workflows/process-challenges.yml
  • 毎日0:00 UTCで自動実行
  • Secret設定済み(SUPABASE_ANON_KEY)

✅ UI改善

  • 残り日数/時間のカウントダウン表示
  • デポジット金額表示修正
  • 28日間チャレンジに変更(月単位から)

✅ App Store準備

  • プライバシーポリシー作成(docs/privacy-policy.md
  • App Store説明文作成(docs/appstore-description.md
  • アプリアイコン設定(1024x1024)

保留中のタスク

⏳ Sign in with Apple

  • ブロッカー: Developer Program承認待ち
  • 承認後の作業:
    1. Xcode CapabilitiesでSign in with Apple追加
    2. Supabase Auth連携実装
    3. RLSポリシー更新

⏳ DB保存テスト

  • 現在RLSでブロック(認証なしでは書き込み不可)
  • 一時的にdev user IDでテスト中

⏳ TestFlight配布

  • Developer Program承認後に実施

⏳ App Store申請

  • 全機能実装・テスト後に申請

技術スタック

カテゴリ 技術
iOS iOS 17+, SwiftUI
認証 Sign in with Apple(予定)
DB Supabase
決済 Stripe
運動データ HealthKit
バッチ Supabase Edge Functions
CI/CD GitHub Actions

主要ファイル変更履歴

1/23

  • StripeAuthorizer.swift - Stripe PaymentSheet統合
  • Challenge.swift - stripePaymentIntentId追加、残り時間計算
  • ChallengeView.swift - カウントダウンUI追加
  • SupabaseChallengeStore.swift - dev user ID対応
  • Info.plist - HealthKit設定追加
  • Edge Functions作成・デプロイ
  • GitHub Actions設定

1/24

  • StripeAuthorizer.swift - PaymentSheet表示エラー修正
    • topmost ViewControllerを取得するように変更

次のアクション

  1. Developer Program承認を待つ(最大48時間)
  2. 承認後:
    • Sign in with Apple実装
    • Supabase Auth連携
    • RLSポリシー設定
    • TestFlight配布
    • App Store申請

メモ

  • Developer Program: $99/年、1/23登録

Discussion