管理者セッションを分離する
端末内だけに保存するKeychainとエフェメラルなURLSessionを使い、セッションデータの残存を抑えています。アプリの再起動時は、永続的なオフライン管理キャッシュを復元せず、認証済みのリクエストでデータを取得し直します。
ネイティブ管理者アプリ · iPhone・iPad
コミュニティを支える人に、必要な道具を。
登録の承認、出席管理、日々の運営のためのネイティブiPhone・iPadアプリです。机での業務は管理者Web、現場での業務はこのアプリが担うよう役割を分け、管理者専用セッション、生体認証、サーバーが決める操作権限を適用しました。
公開デモ
公開デモアカウントで、アプリの主な画面をご覧いただけます。
入力欄の内容を選択して、手動でコピーすることもできます。
複数の利用者で共有するサンプルデータです。他の利用者が内容を変更することがあり、変更内容が残る場合があります。個人情報や個人的な祈りの内容は入力しないでください。
開発・検証用ビルドをデモデータで撮影した画面です。撮影日は各画像に記載しています。その後のApp Store版とは異なる場合があります。
スクリーンショットの出典技術解説は2026年9月17日に確認したソースに基づきます。App Store版には、一部の変更がまだ含まれていない場合があります。
画面にはサーバーから受け取った操作権限を反映します。記録の参照・変更時には、API側でも権限を再確認します。
端末内だけに保存するKeychainとエフェメラルなURLSessionを使い、セッションデータの残存を抑えています。アプリの再起動時は、永続的なオフライン管理キャッシュを復元せず、認証済みのリクエストでデータを取得し直します。
各リクエストにセッションの世代番号を保持します。遅れて届いた応答が以前のセッションや権限範囲に属する場合は破棄します。
未記入の記録を欠席と区別します。出欠の変化を分類する前に十分な観測履歴があることを確認し、編集が競合した場合も結果を明確に扱います。
UP-Dream Admin
画面の実装と見た目を含むSwiftUIのフロントエンドにAIを活用しました。運営業務の流れと画面の要件は自分で定義しました。
アカウントや権限を扱うコードは、AIの結果をそのまま使わず自分で修正・レビューしています。この基準を設けたきっかけは、UP-Dreamのページのアカウント統合の事例にまとめています。
技術解説では、ネイティブのセッション処理、APIの認可、出欠の扱いを、選定したXCTestと業務ルールの検証に結び付けています。実行した検証とソースを読んで確認した範囲を区別しています。