RORK LABEN
SDK58 — Expo SDK 58 のベータが始まりました。React Native 0.88 の RC を同梱し、ベータ期間は3〜4週間と公式に書かれています11/01 — Google Play の対象 API レベル、延長を申請した場合の配信期限は11月1日です。残り44日ですEASENV — ローカルビルドに渡したはずの秘密が、中身ではなく変数名の文字列のまま届く、という報告が長く開いたままですNEW — 推奨された移行先が、すでに停止していました。廃止表を74行突き合わせた記録ですUISCENE — iOS 27 では新しい画面ライフサイクルが必須です。SDK 57 では自分で有効にする設定で、既定になるのは 58 からですCREDIT — 「AI のエラーには消費しない」がどこまでを指すのかは、同じ修正を何度か頼んだ日の記録を取ると見えてきますSDK58 — Expo SDK 58 のベータが始まりました。React Native 0.88 の RC を同梱し、ベータ期間は3〜4週間と公式に書かれています11/01 — Google Play の対象 API レベル、延長を申請した場合の配信期限は11月1日です。残り44日ですEASENV — ローカルビルドに渡したはずの秘密が、中身ではなく変数名の文字列のまま届く、という報告が長く開いたままですNEW — 推奨された移行先が、すでに停止していました。廃止表を74行突き合わせた記録ですUISCENE — iOS 27 では新しい画面ライフサイクルが必須です。SDK 57 では自分で有効にする設定で、既定になるのは 58 からですCREDIT — 「AI のエラーには消費しない」がどこまでを指すのかは、同じ修正を何度か頼んだ日の記録を取ると見えてきます
記事一覧/開発ツール
開発ツール/2026-06-19上級

Rork Max のアプリ容量を削る — App Thinning と On-Demand Resources の使いどころ

Rork Max が生成した SwiftUI アプリは画像やフォントを素直に同梱するため、放っておくと容量が膨らみます。App Thinning と On-Demand Resources を使って初回ダウンロードを軽くする実装手順と、容量予算の決め方を実機の数字とともに整理しました。

Rork Max234App ThinningOn-Demand Resourcesアプリ容量パフォーマンス33

プレミアム記事

ある朝、自分の壁紙アプリの App Store Connect を開いたら、ダウンロードサイズが 180MB を超えていました。Rork Max に頼んで作った新しい画面を足しただけのつもりだったのに、いつの間にか初回ダウンロードがセルラー回線の警告ラインに迫っていたのです。

原因を追うと、生成されたコードが高解像度の画像と複数のカスタムフォントをそのままバンドル直下に置いていました。Rork Max は「見た目が完成した画面」を最短で出すことには長けていますが、配信容量まで面倒を見てくれるわけではない、というのがこの朝の実感でした。

個人開発でアプリを長く運用していると、容量は静かに効いてくる指標です。ここからは、Rork Max が吐いた Swift ネイティブのコードを土台に、App Thinning と On-Demand Resources を使って初回ダウンロードを軽くするまでの工程を、実際に触った数字とともに残しておきます。

アプリ容量はどこで効いてくるのか

容量を気にする理由は、見栄えの問題ではありません。インストール直前の離脱に直結するからです。

App Store はセルラー回線でのダウンロードに上限を設けていて、これを超えると「Wi-Fi に接続してください」という警告が出ます。せっかく広告や紹介でストアまで来てくれた人が、この一枚の警告で去っていきます。私自身、容量を 90MB 台まで落としたアプリで、初回インストールの完了率が体感ではっきり改善した経験があります。

もうひとつは更新のたびにかかる通信です。毎週更新する運用をしていると、利用者は何度もダウンロードを繰り返します。1 回あたり数十 MB の差は、積もると無視できません。

App Thinning は何を自動でやってくれるのか

App Thinning は Apple が用意した仕組みで、大きく三つの要素に分かれます。まず Slicing が、端末ごとに必要な解像度のアセットだけを抜き出して配信します。次に On-Demand Resources が、初回には含めないリソースを後から取りに行けるようにします。そして以前あった Bitcode は現在は役割を終えています。

ここで誤解しやすいのは、Slicing は「アセットカタログに正しく入れていれば自動で効く」という点です。逆に言えば、生成コードのようにバンドル直下へ画像を置いてしまうと、Slicing の対象から外れて全解像度が全端末に配られます。Rork Max の出力で容量が膨らむ典型は、まさにここにあります。この落とし穴は見た目には現れないため、レポートを見るまで気づきにくいのが厄介なところです。

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

この記事の続きを読む

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

この記事で得られること
Slicing を効かせるためのアセットカタログ構成と、生成コードでありがちな同梱ミスの直し方
On-Demand Resources で初回ダウンロードを 40MB 単位で削るための NSBundleResourceRequest 実装
容量予算を MB 単位で決めて運用に乗せるためのチェック手順と判断基準
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-07-06
Rork Max の SwiftUI を @Observable へ移す — ObservableObject で広がっていた再描画を絞り込む
Rork Max が生成する SwiftUI アプリは ObservableObject と @Published をよく使いますが、状態が一つ変わるだけで購読しているビュー全体が再評価されます。Observation フレームワークの @Observable へ移すことで、プロパティ単位に再描画を絞り込む手順と、Instruments で実測したビュー実行回数の変化を、個人開発の作業ログとしてまとめました。
開発ツール2026-06-24
Rork Max の SwiftUI グリッドが画像でカクつくときに効く、スクロール最適化
Rork Max が生成した SwiftUI の画像グリッドがスクロールでカクつく原因を計測し、ImageIO のダウンサンプリング・デコードのバックグラウンド化・セルの安定化で実機のヒッチを減らす実装手順をまとめました。
開発ツール2026-06-24
発熱と省電力モードに合わせて、重い処理を静かに落とす設計
ProcessInfoのthermalStateと省電力モードを監視し、発熱時やバッテリー残量が少ないときに重い処理を段階的に落とす設計です。品質レベルを一箇所で決めて各機能をティアに従わせる実装、実機での確認方法までをSwiftのコードとともに整理します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます