RORK LABEN
IOS27 — iOS 27 と iPadOS 27 は9月14日に配信されます。ノーコードや AI で組み立てたアプリにとって、新しい OS が降りてくる週は足場がいちばん揺れますDUO — Apple 初の折りたたみ iPhone Duo が 1,999 ドルから。新しい画面形状は、生成されたレイアウトが最初に壊れる場所でもありますSPLIT — 標準 Rork は Expo 経由の React Native、Rork Max はネイティブ Swift の生成です。折りたたみへの追随の速さも壊れ方も、同じにはならないはずですSUBMIT — 提出の自動化は、Apple 側の仕様変更をそのまま受けます。便利さを語る記事ほど、この揺れに触れないと不誠実になってしまいますRATING — 9月から年齢レーティング質問票への回答が必須になりました。ノーコードで作ったアプリも例外ではありませんSILICON — iPhone 18 Pro の A20 Pro は TSMC の 2nm ノードで作られる初の大量生産スマートフォン向けプロセッサだと報じられていますIOS27 — iOS 27 と iPadOS 27 は9月14日に配信されます。ノーコードや AI で組み立てたアプリにとって、新しい OS が降りてくる週は足場がいちばん揺れますDUO — Apple 初の折りたたみ iPhone Duo が 1,999 ドルから。新しい画面形状は、生成されたレイアウトが最初に壊れる場所でもありますSPLIT — 標準 Rork は Expo 経由の React Native、Rork Max はネイティブ Swift の生成です。折りたたみへの追随の速さも壊れ方も、同じにはならないはずですSUBMIT — 提出の自動化は、Apple 側の仕様変更をそのまま受けます。便利さを語る記事ほど、この揺れに触れないと不誠実になってしまいますRATING — 9月から年齢レーティング質問票への回答が必須になりました。ノーコードで作ったアプリも例外ではありませんSILICON — iPhone 18 Pro の A20 Pro は TSMC の 2nm ノードで作られる初の大量生産スマートフォン向けプロセッサだと報じられています
記事一覧/アプリ開発
アプリ開発/2026-06-09上級

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

壁紙アプリのバイナリサイズを抑えるため、画像を同梱からリモート配信へ切り離す設計判断を実測値とともに整理します。カタログ設計、初回表示を遅くしないプレフェッチ、On-Demand Resourcesの検討、フォーマット最適化、CDN運用の注意点まで扱います。

app-size壁紙アプリ28アセット配信3Expo205パフォーマンス33

プレミアム記事

リリース直後の壁紙アプリの 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/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

アプリ開発2026-08-24
サムネイルの移設は、配信中の版が旧パスを要求し続ける前提で組みました
サーバー側で画像の置き場所を変えても、ストアで配信中の版はビルド時のパス組み立てを持ち続けます。旧新どちらのパスでも 200 を返す双方向フォールバック、画像とカタログの更新順序、CDN を挟んだまま実応答を確かめる手順を、壁紙アプリの運用で使っている形のまま共有します。
アプリ開発2026-06-13
壁紙パックをアプリ審査なしで配る — リモートアセットのバージョニングと差分配信を6本で運用する設計
新しい壁紙を追加するたびにアプリを再申請していると、運用が止まります。マニフェスト方式のバージョニングと差分ダウンロード、キャッシュ無効化とロールバックを、6本並行運用の実装と転送量の実測値とともに整理しました。
アプリ開発2026-08-05
キー短縮で 19% 減らしても配信は 3% しか軽くならない — カタログ JSON の圧縮実測と配置換え
2万件の壁紙カタログJSONで5形式を実測。キー短縮はgzip後3.2%しか効かず、列指向への配置換えは26.8%減。Brotli・ページング・JSON.parse時間まで、配信サイズ設計の判断材料を数値で並べます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます