すべての記事
有料導線とレビュー訴求が重なるのを、ダイアログではなくゲートで止めています
有料プラン案内・レビュー訴求・リワード広告のダイアログが同じ瞬間に重なった実例から、表示可否の判断を各ダイアログから中央ゲートへ移した設計と、エージェントに不変条件を渡す指示の書き方、CI での機械検査までをまとめました。
ビルドが通ったことは、pbxproj の編集が正しかった証明になりません
エージェントに project.pbxproj を編集させると、ビルドは緑のままリソースやスクリプトだけが静かに外れます。構造で確かめる4つの検査と、1,200ファイル規模でも0.1秒で終わる監査スクリプトを、iOS アプリの実運用の側からまとめます。
無視された設定キーが CI を通り抜ける経路と、その塞ぎ方
設定ファイルに書いたキーが無警告で無視されることがあります。tsc・ESLint・wrangler・npm・vitest の実測で挙動を3層に分け、効いているかを挙動で確かめるプローブと、警告を失敗へ昇格させるゲートの作り方をまとめました。
消えたのは中身ではなく作業ディレクトリでした — 無人で走る破壊操作を fail-closed に組み直す
無人で走らせていた掃除処理が、掃除対象の中身ではなく作業ディレクトリそのものを消しました。mkdir -p が安全弁にならなかった理由と、取得失敗を既定値で埋める書き方が破壊側の分岐を選んでいた経緯を、実際の検証出力とともに整理します。
Liquid Glass の猶予フラグ UIDesignRequiresCompatibility を、Xcode 27 に外される前に自分で外す
Info.plist の UIDesignRequiresCompatibility は Xcode 27 で無視される見込みです。フラグを自分の手で false に戻すと、来年強制される見た目が今日そのまま再現できます。個人開発の壁紙アプリで実際に崩れた箇所と、点検の順番をまとめました。
API レベル 36 の期限に向けた、6本のアプリを上げる順番と段階公開の刻み方
Google Play の API レベル 36 要件は6本すべてに同じ期日で来ます。締切が同じなら決めるのは順番だけです。壊れやすさの棚卸しと、段階公開の刻み幅を必要観測数から逆算する手順をまとめました。
壁紙アプリの30カテゴリ分類で、エージェントに選ばせる範囲をどこまで狭めるか
画像を見せて30個のカテゴリから選ばせる分類バッチは、定義を1つ足すだけで全件やり直しになります。エージェントには閉じた語彙のタグだけを出させ、カテゴリは決定的な規則で写像する設計へ切り替えた判断と実装を共有します。
iOS 27 パブリックベータをどの端末に入れるか — 検証機の決め方と、戻れない前提での備え
iOS 27 のパブリックベータが 7/13 に公開されました。ビルド番号が開発者向けベータ3と同一である事実を起点に、どの端末に入れるか、入れる前に何をアーカイブするか、アプリのどこから確認するかを個人開発の視点で整理します。
「Compose ファースト」の後で、View の画面をどの順に移すか — 画面数ではなく変更頻度で決める
Google が Android 開発を Compose ファーストと表明しました。View ベースの画面をどの順で移すかを、画面数ではなく git の変更履歴から決める判断軸と、実際に動かしたスコアリングスクリプトをまとめます。
Android 17 のローカルネットワーク権限 — LAN に触る箇所を機械で洗い出してから、エージェントに直させる
新しい API レベルではローカルネットワークへの明示的な許可が必要になります。grep では 11 経路のうち 2 つしか見つかりませんでした。経路の種類で拾う検出器と、エージェントに渡せる作業単位への畳み方を実測とともに。
エージェントが足した依存を、インストール前に検疫する — postinstall を既定で止めて通す設計
npm install の postinstall を既定で止め、エージェントが足した依存をインストール前に検疫する設計です。スクリプトを持つ依存の棚卸し、新規依存への検疫スコア付け、無人ランへの差し込みを実装し、導入後1ヶ月の運用も振り返ります。
AdMob を載せた画面のスクリーンショットテストを、広告の非決定性から守る
広告つきの画面はスクリーンショットテストが毎回赤くなり、やがて誰も差分を見なくなります。AdMob バナーの非決定性を封じ、レイアウトの崩れだけを検知に残す設計を、Compose の実装例と Antigravity での差分トリアージまで含めてまとめます。