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 インスタンス
プロジェクトのセットアップ
- Xcode で LeadHub の購入パッケージに含まれる
ios/フォルダを開きます。 - CocoaPods または Swift Package Manager の依存関係がある場合は、
.xcodeprojではなく.xcworkspaceファイルを開きます。 - プロジェクトの Signing & Capabilities 設定で開発チームを選択します。
- シミュレーターまたは実機でビルドして実行します。
アーキテクチャ
アプリは標準的な iOS アーキテクチャを使用します:
- URLSession とカスタム API クライアントで LeadHub REST API への HTTP 呼び出し
- Combine または async/await で非同期処理
- SwiftUI でユーザーインターフェース
- CoreData でセッション間のリードのローカルキャッシュ
- Apple Push Notification Service(APNs) でプッシュ通知
API キーは Security フレームワークを使用して iOS Keychain に保存されます。
認証フロー
- ユーザーがオンボーディング画面で LeadHub インスタンス URL と API キーを入力します。
- アプリが
GET /api/v1/healthリクエストを送信して、インスタンスが HTTPS でアクセス可能かを確認します。 - テスト認証リクエストを送信して API キーの有効性を確認します。
- URL と API キーが Keychain に保存されます。
プッシュ通知
プッシュ通知は Apple Push Notification Service(APNs)を使用します。
- Apple Developer アカウントで、Certificates, Identifiers & Profiles → Keys の下に APNs キー(.p8 ファイル)を作成します。
- Key ID とチーム ID をメモします。
- LeadHub バックエンドの設定で
APNS_KEY、APNS_KEY_ID、APNS_TEAM_ID、APNS_BUNDLE_IDを設定します。 - Xcode の Signing & Capabilities で Push Notifications 機能を有効にします。
アプリは初回起動時にプッシュ通知に登録し、API 経由でデバイストークンを LeadHub バックエンドに送信します。
配布用ビルド
- Xcode で Product → Archive からアプリをアーカイブします。
- Organizer ウィンドウで Distribute App をクリックします。
- App Store 配布には App Store Connect、ベータテストには TestFlight を選択します。
- 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 キー) — ユーザーに紐付け、認証に使用
- 使用データ — 収集しない