◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Expo SDK 58 が 10/15 に正式リリースされました(Beta は 09/15 から)。上げる前に依存の対応状況を確認しましょう●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Expo SDK 58 が 10/15 に正式リリースされました(Beta は 09/15 から)。上げる前に依存の対応状況を確認しましょう●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-07-26上級

iOS プレリリース版の端末を計測から外して失敗した記録 — 除外ではなく分離するトラック設計

OS のプレリリース版を使う端末を計測から除外した結果、正式リリース当日に手掛かりを失いました。除外ではなく os_track で分離し、閾値とリリースゲートを分ける設計を実装コードとともにまとめます。

Rork598React Native241Expo225計測設計3リリース運用7iOS 274

✦ プレミアム記事

秋の正式リリースが降ってきた翌朝、Crashlytics のダッシュボードを開いて手が止まりました。

前日まで静かだったクラッシュ一覧に、見覚えのないスタックトレースが4種類。しかも新しく出したビルドではなく、2週間前から配信していたバージョンで起きています。

原因を追う手掛かりは、本来なら夏のあいだに溜まっていたはずでした。私自身がその手掛かりを、自分の手で捨てていたのです。

ベータ端末を「除外」した理由は、当時は筋が通っていました

個人開発で6本のアプリを並行して面倒を見ていると、ダッシュボードを開ける時間は1日に数分しかありません。

そこにノイズが混ざると、判断が鈍ります。OS のパブリックベータを入れている端末は、母数こそ小さいのにクラッシュ率だけが目立って高くなります。全体のクラッシュフリー率がわずかに下がり、しきい値を割ってアラートが飛びます。開いてみればベータ端末だけの問題で、こちらのビルドは無傷でした。

この空振りが月に何度か続いたあと、私は計測とクラッシュレポートの初期化時にプレリリース端末を弾く分岐を入れました。数字は静かになりました。

その静けさが落とし穴でした。

除外は「見えない」を作るだけで、「起きない」は作りません

パブリックベータの利用者は、秋の正式リリース当日に消えるわけではありません。むしろ逆で、その日を境に一般ユーザーが同じメジャーバージョンへ一斉に上がってきます。

つまり夏のあいだにベータ端末で観測できていたはずの不具合は、秋になって初めて、全ユーザー規模で顕在化します。事前に数十件の手掛かりとして受け取れたものを、私は数千件の障害として受け取り直したことになります。

もうひとつ、あとから効いてきた事実があります。ベータ端末で起きていたクラッシュのうち、OS 側の不具合と言えるものは半分もありませんでした。多くは、こちらのコードがこれまで偶然通っていた箇所です。

破棄済みのビューへ非同期完了後に触っておりました。日付の書式解析が、特定ロケールの実装差に依存していました。オプショナルの強制アンラップが、以前は必ず値の入るパスに置かれていました。

OS が変わって初めて表に出ただけで、瑕疵はこちら側にありました。「ベータ由来だから様子見」という札を貼った瞬間に、自分のバグを一件ずつ見送っていたわけです。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦Platform.Version から os_track を判定し、リモート baseline で秋の GA 当日に自動追従させる実装
✦クラッシュフリー率の閾値を ga 99.5% / prerelease 98.0% に分け、アラートの誤発火を止める設計
✦プレリリース由来の不具合を「棚上げ」せずリリースゲートの警告枠で扱う判定コード
✦基準値の巻き戻し・桁違い・updatedAt 欠落を 10,000 端末ぶんの入力で測り、却下条件とゲートの健全性チェックで塞ぐまで
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 開発ツール2026-09-04
EAS の secret は「アプリに入れない」設定ではありません — 接頭辞と可視性を別々に決める
EXPO_PUBLIC_ の接頭辞は成果物に入るかを決め、EAS の可視性は誰が読めるかを決めます。二つを重ねたときに OTA 更新でだけ値が消える筋道と、出荷前に自分の手で確かめる手順をまとめました。
⬡ 開発ツール2026-08-22
一括置換は全ファイル成功しました。壊れたのは、消さなかった行のほうです
生成コードに一括置換をかけると、一致した行ではなく隣の行が壊れます。運用中のプロジェクトで実際に起きた破損と、置換の不変条件を検査する20行のガードスクリプトをまとめました。
⬡ 開発ツール2026-07-30
Renovate が触ってよい依存と、触ってはいけない依存 — Expo SDK 57 の123パッケージを機械的に切り分ける
Rork 生成アプリに依存の自動更新を入れると、Expo が版を管理している123パッケージまで巻き込まれます。2026年7月30日時点の実測では、うち6件が npm の最新版へメジャー更新される差でした。除外リストを手で書かず SDK から機械生成する手順をまとめます。