RORK LABEN
RORK-MAX — Rork MaxはネイティブSwiftアプリを生成(月$200)。iPhone・iPad・Watch・TV・Vision Pro・iMessageとAR/LiDAR・Live Activitiesに対応CLOUD-MAC — Rork MaxはクラウドMacフリートでネイティブコンパイル。Xcode不要・Mac不要で2クリックApp Store公開が可能ですEXPO — 通常のRorkはExpo(React Native)でiOS/Android両対応の本番アプリを記述から生成。無料開始・有料は月$25〜WWDC — WWDC 2026でiOS 27発表。iPhone 11以降が対象、写真70%高速化・AirDrop 80%高速化。秋にiPhone 18 Proと同時提供ANDROID17 — Android 17が6月に安定版見込み。大画面リサイズ必須化で、折りたたみ・タブレット対応がモバイルアプリの前提にSIRI-INTENTS — iOS 27のSiriはGeminiベースに刷新。App Intents連携を備えるネイティブアプリの設計が見直しどころですRORK-MAX — Rork MaxはネイティブSwiftアプリを生成(月$200)。iPhone・iPad・Watch・TV・Vision Pro・iMessageとAR/LiDAR・Live Activitiesに対応CLOUD-MAC — Rork MaxはクラウドMacフリートでネイティブコンパイル。Xcode不要・Mac不要で2クリックApp Store公開が可能ですEXPO — 通常のRorkはExpo(React Native)でiOS/Android両対応の本番アプリを記述から生成。無料開始・有料は月$25〜WWDC — WWDC 2026でiOS 27発表。iPhone 11以降が対象、写真70%高速化・AirDrop 80%高速化。秋にiPhone 18 Proと同時提供ANDROID17 — Android 17が6月に安定版見込み。大画面リサイズ必須化で、折りたたみ・タブレット対応がモバイルアプリの前提にSIRI-INTENTS — iOS 27のSiriはGeminiベースに刷新。App Intents連携を備えるネイティブアプリの設計が見直しどころです
記事一覧/アプリ開発
アプリ開発/2026-06-09上級

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

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

app-size壁紙アプリ25アセット配信Expo77パフォーマンス24

プレミアム記事

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

アーティスト・クリエイターの廣川政樹です。2014年から個人で iOS / Android アプリを作り続け、壁紙・癒し・引き寄せ系を中心に累計 5,000 万ダウンロードほどの規模になりました。現在は壁紙系だけで 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-05-11
壁紙アプリの画像が遅かった:Rork で expo-image に切り替えて分かったこと
RorkのデフォルトImageコンポーネントからexpo-imageに切り替えて壁紙アプリの画像読み込みを高速化した実体験。blur hashプレースホルダー実装まで解説します。
アプリ開発2026-06-03
壁紙アプリ 6 本のオンボーディングを共通化して、1 ヶ月の初日定着を見た所感
Rork で骨格を作った壁紙アプリ 6 本のオンボーディングを 1 つの設定駆動コンポーネントに統一し、1 ヶ月の初日継続率とプッシュ許諾率がどう動いたかを、個人開発の現場目線で淡々と記録した実運用メモです。
アプリ開発2026-06-01
壁紙アプリの色がくすむ問題と Display P3 — 広色域で詰めた所感
同じ壁紙が実機ではくすんで見える。原因は広色域(Display P3)とsRGBの取り違えでした。6本の壁紙アプリで色域を詰めてきた実装の手順と、確認に使ったコマンドをまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →