メインコンテンツまでスキップ

iOS アプリ

このガイドは、LeadHub iOS コンパニオンアプリのビルドまたはカスタマイズを行う開発者向けです。アプリのソースコードは Swift で記述されており、iPhone と iPad を対象としています。


必要条件

  • Xcode 15 以降(macOS のみ)
  • Swift 5.9 以降
  • iOS デプロイターゲット:iOS 15.0 以上
  • Apple Developer アカウント(TestFlight および App Store 配布に必要)
  • 有効な HTTPS URL とアクティブな API キーを持つ LeadHub インスタンス

プロジェクトのセットアップ

  1. Xcode で LeadHub の購入パッケージに含まれる ios/ フォルダを開きます。
  2. CocoaPods または Swift Package Manager の依存関係がある場合は、.xcodeproj ではなく .xcworkspace ファイルを開きます。
  3. プロジェクトの Signing & Capabilities 設定で開発チームを選択します。
  4. シミュレーターまたは実機でビルドして実行します。

アーキテクチャ

アプリは標準的な iOS アーキテクチャを使用します:

  • URLSession とカスタム API クライアントで LeadHub REST API への HTTP 呼び出し
  • Combine または async/await で非同期処理
  • SwiftUI でユーザーインターフェース
  • CoreData でセッション間のリードのローカルキャッシュ
  • Apple Push Notification Service(APNs) でプッシュ通知

API キーは Security フレームワークを使用して iOS Keychain に保存されます。


認証フロー

  1. ユーザーがオンボーディング画面で LeadHub インスタンス URL と API キーを入力します。
  2. アプリが GET /api/v1/health リクエストを送信して、インスタンスが HTTPS でアクセス可能かを確認します。
  3. テスト認証リクエストを送信して API キーの有効性を確認します。
  4. URL と API キーが Keychain に保存されます。

プッシュ通知

プッシュ通知は Apple Push Notification Service(APNs)を使用します。

  1. Apple Developer アカウントで、Certificates, Identifiers & Profiles → Keys の下に APNs キー(.p8 ファイル)を作成します。
  2. Key ID とチーム ID をメモします。
  3. LeadHub バックエンドの設定で APNS_KEYAPNS_KEY_IDAPNS_TEAM_IDAPNS_BUNDLE_ID を設定します。
  4. Xcode の Signing & Capabilities で Push Notifications 機能を有効にします。

アプリは初回起動時にプッシュ通知に登録し、API 経由でデバイストークンを LeadHub バックエンドに送信します。


配布用ビルド

  1. Xcode で Product → Archive からアプリをアーカイブします。
  2. Organizer ウィンドウで Distribute App をクリックします。
  3. App Store 配布には App Store Connect、ベータテストには TestFlight を選択します。
  4. Xcode の指示に従ってアップロードします。

使用する API エンドポイント

エンドポイント目的
GET /api/v1/healthインスタンスの接続確認
GET /api/v1/leadsリード一覧を読み込む
GET /api/v1/leads/{id}リード詳細を読み込む
PATCH /api/v1/leads/{id}リードのステータスまたはステージを更新
POST /api/v1/leads/{id}/tagsリードにタグを追加
GET /api/v1/pipelinesステージピッカー用のパイプライン一覧を読み込む

必要な最小 API キースコープ

スコープ理由
read:leadsリードの表示
write:leadsリードのステータス、ステージ、タグを更新
read:pipelinesパイプラインステージピッカーを埋める

App Store プライバシー情報

App Store に提出する際は、App Privacy セクションで以下のデータ使用を申告してください:

  • 連絡先情報(メール、電話) — ユーザーではなくリードから収集
  • 識別子(API キー) — ユーザーに紐付け、認証に使用
  • 使用データ — 収集しない