RORK LABEN
CLOUD — Rork MaxはクラウドのMacファームでSwiftをコンパイルし、ブラウザへシミュレータを配信します。XcodeもMac本体も要りませんSIM — シミュレータは60fpsで届き、ブラウザ上のタッチ操作がそのまま反映されます。手元に実機がなくても操作感を確かめられますNATIVE — AR/LiDARスキャン、Metalによる3D描画、Core MLのオンデバイス推論といったネイティブ機能を扱えますWIDGET — ホーム画面ウィジェット、Dynamic Island、Live Activities、Siri Intents、HealthKit、NFC、App Clipsにも対応しますARR — Rork Maxは2026年2月の公開から3日でARR150万ドルに達しました。ネイティブ生成への需要の大きさがうかがえますIOS27 — iOS 27のパブリックベータが7月中旬に公開されました。秋の正式リリースに向け、生成したアプリの動作確認を進める時期ですCLOUD — Rork MaxはクラウドのMacファームでSwiftをコンパイルし、ブラウザへシミュレータを配信します。XcodeもMac本体も要りませんSIM — シミュレータは60fpsで届き、ブラウザ上のタッチ操作がそのまま反映されます。手元に実機がなくても操作感を確かめられますNATIVE — AR/LiDARスキャン、Metalによる3D描画、Core MLのオンデバイス推論といったネイティブ機能を扱えますWIDGET — ホーム画面ウィジェット、Dynamic Island、Live Activities、Siri Intents、HealthKit、NFC、App Clipsにも対応しますARR — Rork Maxは2026年2月の公開から3日でARR150万ドルに達しました。ネイティブ生成への需要の大きさがうかがえますIOS27 — iOS 27のパブリックベータが7月中旬に公開されました。秋の正式リリースに向け、生成したアプリの動作確認を進める時期です
記事一覧/アプリ開発
アプリ開発/2026-06-09上級

壁紙アプリのバイナリサイズを抑える — 画像をバンドルから切り離す設計判断

壁紙アプリは画像を増やすほどバイナリが膨らみます。同梱とリモート配信の境界をどこに引くか、初回表示を遅くしないプレフェッチ設計、フォーマット最適化までを実測値とともに整理しました。

app-size壁紙アプリ28アセット配信2Expo150パフォーマンス31

プレミアム記事

リリース直後の壁紙アプリの IPA は 16MB ほどでした。ところが季節ごとに新しい壁紙を追加していくと、半年後にはバンドルが 90MB を超えていました。App Store のセルラー回線ダウンロード上限(当時 200MB、現在はさらに緩和されていますが)に達するずっと手前で、私は別の問題に気づきました。初回起動が目に見えて遅くなり、ストアの「容量」表示を見たユーザーから「重い」というレビューが付き始めたのです。

壁紙系のアプリを個人で長く運用してきました。現在は壁紙系だけで 6 本を並行運用していますが、そのどれもが「画像を増やしたい」という欲求と「バイナリを軽く保ちたい」という制約の綱引きの上に成り立っています。新しい季節の壁紙を足すたびに、私自身この綱引きと向き合ってきました。ここでは、その綱引きを設計でどう解いたのかを、実際に動かしているコードと前後の数値とともに整理します。

なぜ壁紙アプリだけサイズが急に問題になるのか

一般的な業務アプリなら、画像はアイコンと数枚のイラスト程度です。ところが壁紙アプリは画像そのものが商品です。1 枚の高解像度壁紙(iPhone 15 Pro Max 相当の 1290×2796、Display P3)は、無圧縮なら 10MB を超えることも珍しくありません。これを 100 枚同梱すれば、それだけでバンドルは 1GB に近づきます。

サイズが膨らむと、具体的に三つの場所で痛みが出ます。

ひとつ目はストアのコンバージョンです。App Store の製品ページには容量が表示され、Wi-Fi がない場面ではダウンロードをためらう要因になります。私の計測では、同一アプリでバイナリを 90MB から 28MB に落としたバージョンのインストール完了率(ストア表示 → 完了)が約 14% 改善しました。表示の段階で離脱していた層が一定数いたことになります。

ふたつ目は初回起動です。同梱画像が多いと、アプリの初回展開とメモリ常駐の負荷が上がります。とくに iOS では、アセットカタログに大量の画像を入れるとビルド時間も実行時のメモリも増えます。

三つ目は更新の俊敏さです。壁紙を 5 枚足すたびに審査を通して全ユーザーに数十 MB を再ダウンロードさせるのは、運用として重すぎます。壁紙はコンテンツであって、コードのリリースとは更新のリズムが違うのです。

同梱とリモートの境界をどこに引くか

「全部リモートにすればいい」と言い切れれば楽なのですが、それでは初回起動でグリッドが真っ白になり、体験が崩れます。私は次の 2 軸で境界を引いています。

ひとつは起動体験への寄与度です。初回起動の最初の画面に映るもの(オンボーディング背景、最初のグリッドに見える数枚のサムネイル)は同梱します。ここがネットワーク待ちになると離脱に直結するからです。

もうひとつは更新頻度です。頻繁に差し替える季節コレクションや新作はリモート、ロゴやプレースホルダなど変わらないものは同梱、と分けます。

整理すると、私のアプリでは次の配分にしています。

  • アプリアイコン・スプラッシュ・UI 用アイコン → 同梱(数百 KB)
  • 初回グリッドに見える先頭 6〜8 枚のサムネイルのみ(フル解像度ではない)→ 同梱
  • フル解像度の壁紙、追加コレクション、季節もの → すべてリモート

この方針だけで、同梱されるのはサムネイルと UI 素材に限られ、バイナリは劇的に小さくなります。実アプリでは IPA を 90MB から 28MB へ、約 69% 削減できました。

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

この記事の続きを読む

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

この記事で得られること
同梱とリモート配信の境界を、起動体験と更新頻度の2軸で引く具体的な判断基準
manifest JSON とプレフェッチで初回表示を維持したまま IPA を 60% 以上削れた実装
HEIC/WebP・Display P3・ダウンサンプリングで1枚あたりの転送量を 1/3 にする手順
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

アプリ開発2026-06-13
壁紙パックをアプリ審査なしで配る — リモートアセットのバージョニングと差分配信を6本で運用する設計
新しい壁紙を追加するたびにアプリを再申請していると、運用が止まります。マニフェスト方式のバージョニングと差分ダウンロード、キャッシュ無効化とロールバックを、6本並行運用の実装と転送量の実測値とともに整理しました。
アプリ開発2026-07-14
壁紙を長押しして、プレビューと保存メニューを出す — Rork の Expo アプリで context menu を組む
壁紙ギャラリーのカードを長押ししても何も起きない。iOS利用者はプレビュー付きのメニューを期待します。Pressableだけでは届かない理由から、zeegoでのネイティブcontext menu実装、スクロールとの競合解消、保存・共有アクション、Android向けの自前フォールバックまで、動くコードでまとめます。
アプリ開発2026-06-27
画面を離れてもアニメーションが回り続ける — Rork(Expo)アプリのフォーカス連動でバッテリーを守る
Rork が生成した Expo アプリで、別画面に進んだりホームに戻ったあともグラデーションや呼吸アニメーションが裏で回り続け、ジャンクとして表に出ないままバッテリーを静かに削っていく——その原因は Reanimated の withRepeat が UI スレッドで走り続けることと、ナビゲーションスタックが画面をマウントしたまま保持することにあります。useIsFocused と AppState を束ねたライフサイクル設計で、画面外とバックグラウンドのループを確実に止める実装を、動くコードで示します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →