管理者セッションを分離する
端末内だけに保存するKeychainとエフェメラルなURLSessionを使い、セッションデータの残存を抑えています。アプリの再起動時は、永続的なオフライン管理キャッシュを復元せず、認証済みのリクエストでデータを取得し直します。
ネイティブの運営管理アプリ
コミュニティを支える人に、必要な道具を。
メンバーの承認、出欠管理、日々の運営業務を行うiPhone・iPad向けネイティブアプリです。サービスの管理業務をSwiftUIで実装し、独立した管理者セッションとサーバーが管理する操作権限を組み合わせています。
開発・検証用ビルドをデモデータで撮影した画面です。撮影日は各画像に記載しています。その後のApp Store版とは異なる場合があります。
スクリーンショットの出典技術解説は2026年9月17日に確認したソースに基づきます。App Store版には、一部の変更がまだ含まれていない場合があります。
画面にはサーバーから受け取った操作権限を反映します。記録の参照・変更時には、API側でも権限を再確認します。
端末内だけに保存するKeychainとエフェメラルなURLSessionを使い、セッションデータの残存を抑えています。アプリの再起動時は、永続的なオフライン管理キャッシュを復元せず、認証済みのリクエストでデータを取得し直します。
各リクエストにセッションの世代番号を保持します。遅れて届いた応答が以前のセッションや権限範囲に属する場合は破棄します。
未記入の記録を欠席と区別します。出欠の変化を分類する前に十分な観測履歴があることを確認し、編集が競合した場合も結果を明確に扱います。
UP-Dream Admin
SwiftUIのフロントエンドで、画面の実装と表示にAIを活用しました。運営業務の流れと画面要件は自分で定義しました。
技術解説では、ネイティブのセッション処理、APIの認可、出欠の扱いを、選定したXCTestと業務ルールの検証に結び付けています。実行した検証とソースを読んで確認した範囲を区別しています。