「Version code 1 has already been used」の番号は、app.json と EAS のどちらが持っているか
Play へのアップロードが versionCode で止まったとき、番号を闇雲に上げる前に確かめる場所と、app.json・EAS・build.gradle のどれが実際の値を持っているかを整理します。
Rork のプロジェクトで targetSdkVersion 36 を通すまでに直した3か所
app.json に targetSdkVersion 36 と書いてあるのに、ビルドが読んでいた値は 35 でした。実効値を報告するスクリプトと、引き上げ・更新停止・延長申請の三択の分け方を残します。
Rork のコードをエクスポートしたら、git init より先に .gitignore を用意します
Rork からエクスポートしたプロジェクトをそのまま git init すると、鍵や .env まで履歴に載ります。除外設定を先に置いた場合と後から足した場合の差を実際に測り、効く書き方と効かない書き方を確かめました。
Expo UI の drop-in 置き換えで、依存が本当に1本減る条件
Expo UI が SDK 56 で安定版になり、コミュニティ製パッケージ8件に drop-in の置き換えが用意されました。import を1行入れ替えても依存が減らない場合があります。減る条件を依存グラフから機械的に判定する手順をまとめました。
グラフが壊れて見えるのは、データが多いときではなく最初の数日でした
記録アプリの折れ線グラフが、データの少ない最初の数日だけ線が消える。原因はY軸の幅が0になり座標がNaNになることでした。実測した挙動と、描画前に置く小さな正規化層を紹介します。
App Store 2.5.2 に触れる実装を、提出前にリポジトリから洗い出す
リモートから届いた値でアプリの機能が変わる実装は、審査ガイドライン 2.5.2 の対象になり得ます。境界の引き方と、提出前にコードから機械的に洗い出す手順をまとめました。
TestFlight の外部テストと段階公開、個人開発ではどちらに時間を使うか
Rork で作ったアプリを他人に配るとき、外部テスターを募集する道と段階公開に受け止めさせる道の二つがあります。個人開発の限られた時間をどちらに置くかを、配布が止まる条件と事前検証すべき三領域から整理しました。
ライセンス表示に載せる依存は、lockfile の dev/prod では決まりません
AI ビルダーが書き出したプロジェクトの依存を実際に分類し、ライセンス表示に載せる範囲をどう決めたかの記録です。copyleft の検出結果と配布物の境界の食い違いを、本番プロジェクトの実データで確かめました。
新規インストールが止まる4か国を、6本のアプリの流入比率で確かめました
Android の開発者認証は2026年9月30日にブラジル・インドネシア・シンガポール・タイの4か国で始まります。自分のアプリがその期日に本当に影響を受けるのかを、国別インストール比率から判定する手順をまとめました。
Hermes バイトコードの差分更新を実測する — モジュール1本の追加が更新サイズを29倍にした
2.4MB の Hermes バイトコードで OTA 差分を実測しました。1行の変更は 2,104 バイト、モジュールを1本足すと 61,197 バイト。よく言われるモジュールID安定化はほぼ効かず、効いたのは別の2つでした。
復旧させたのに 429 が止まらない — リトライのジッター設計を2,000端末で測り直しました
バックエンド復旧後も 429 が続いた原因を、2,000端末の離散シミュレータで測り直しました。指数バックオフ単体・上限値・±10%ジッター・Retry-After の遵守が、それぞれ何秒の遅れを生むかの実測値です。
MCP のツールを減らしても軽くならない — 定義 2,377 バイトと応答 110,298 バイトを測り直した記録
壁紙カタログ用のMCPサーバを依存なしの最小構成で書き直し、ツール定義2,377バイトと応答110,298バイトを実測した記録です。削るべきは応答側であること、ツール統合の本当の理由が見分けやすさにあることを、測定ハーネスと3つの設計ルールとともに示します。