RORK LABEN
FUNDING — Rorkが$15Mを調達。モバイル特化のノーコードAIという立ち位置に投資家の評価が集まっていますMAX-NATIVE — Rork MaxはAR/LiDAR・Metal 3D・ウィジェット・Dynamic Island・Live Activities・HealthKit・Core MLなど、React Nativeでは届かないネイティブ領域に対応MOBILE-FIRST — BoltやLovableがWebアプリ中心なのに対し、Rorkはモバイルアプリ専業。説明文から本番品質のアプリを生成しますWWDC — WWDC26が閉幕。AIがOSのコア機能となり、iOS 27世代へ。ウィジェットやLive Activitiesの価値がさらに上がる局面ですPRICING — Rorkは無料で開始でき有料$25/月〜、Rork Maxは$200/月。Expoで素早く検証し、必要に応じてMaxでネイティブ化する多段戦略が現実的ALL-APPLE — Rork MaxのSwift直接生成はiPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageまでカバーしますFUNDING — Rorkが$15Mを調達。モバイル特化のノーコードAIという立ち位置に投資家の評価が集まっていますMAX-NATIVE — Rork MaxはAR/LiDAR・Metal 3D・ウィジェット・Dynamic Island・Live Activities・HealthKit・Core MLなど、React Nativeでは届かないネイティブ領域に対応MOBILE-FIRST — BoltやLovableがWebアプリ中心なのに対し、Rorkはモバイルアプリ専業。説明文から本番品質のアプリを生成しますWWDC — WWDC26が閉幕。AIがOSのコア機能となり、iOS 27世代へ。ウィジェットやLive Activitiesの価値がさらに上がる局面ですPRICING — Rorkは無料で開始でき有料$25/月〜、Rork Maxは$200/月。Expoで素早く検証し、必要に応じてMaxでネイティブ化する多段戦略が現実的ALL-APPLE — Rork MaxのSwift直接生成はiPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageまでカバーします
記事一覧/アプリ開発
アプリ開発/2026-06-13上級

壁紙パックをアプリ審査なしで配る — リモートアセットのバージョニングと差分配信を6本で運用する設計

新しい壁紙を追加するたびにアプリを再申請していると、運用が止まります。マニフェスト方式のバージョニングと差分ダウンロード、キャッシュ無効化とロールバックを、6本並行運用の実装と転送量の実測値とともに整理しました。

アセット配信2壁紙アプリ25バージョニングExpo65運用設計4

プレミアム記事

季節の壁紙を10枚追加するだけのために、アプリのビルドを上げ、スクリーンショットを差し替え、App Store の審査に2日待つ。リリース直後はこれで回っていました。けれど個人開発で壁紙系を6本並行で運用するようになると、この手順が完全にボトルネックになりました。1本の審査待ちのあいだに別の3本でも追加したい画像が積み上がり、結局「今週はまとめて来週」と先送りする悪循環に入っていたのです。

コンテンツの追加は、本来アプリのコードとは無関係です。画像が増えても挙動は変わりません。それならアプリ審査の外に出してしまおう、と決めて作り直したのが、ここで紹介するリモートアセットパックの仕組みです。動かしているコードと、切り替え前後で測った転送量を添えて共有します。

なぜ「バンドル同梱」をやめたのか

最初の設計では画像をアプリにバンドルしていました。オフラインでも確実に表示でき、初回起動が速いという利点があります。一方で、画像を1枚増やすたびにアプリ全体を再申請する必要があり、IPA も膨らみ続けます。半年で 90MB を超えたあたりで限界を感じました。

判断の軸は2つだけに絞りました。ひとつは更新頻度です。週に何度も差し替えるコンテンツはリモート、リリース時に固定されるUI素材は同梱。もうひとつは初回体験です。起動直後に必ず見える数枚(デフォルトの表紙やオンボーディング画像)は同梱し、それ以外はリモートから取りに行く。この線引きで、同梱アセットを20枚程度に固定できました。

マニフェスト方式 — 何を配って何を消すか

リモート配信の中心になるのは、画像そのものではなくマニフェストです。アプリは起動時にまずマニフェストを取りに行き、そこに書かれた指示にしたがって画像を取得します。スキーマはこうしています。

{
  "packVersion": 142,
  "minAppVersion": "3.2.0",
  "generatedAt": "2026-06-13T02:00:00Z",
  "categories": [
    {
      "id": "seasonal-rainy",
      "title": { "ja": "雨の季節", "en": "Rainy Season" },
      "items": [
        {
          "id": "rainy-0142",
          "hash": "b7f3c1a9",
          "w": 1290, "h": 2796,
          "url": "https://cdn.example.com/packs/rainy-0142.heic",
          "thumb": "https://cdn.example.com/thumbs/rainy-0142.webp",
          "addedIn": 142
        }
      ]
    }
  ]
}

ポイントは hashaddedIn です。hash は画像の内容から生成した短い指紋で、これが変わったときだけ再ダウンロードします。addedIn はその画像が初めて登場したパックバージョンで、差分計算に使います。minAppVersion は、新しいフォーマットの画像(たとえば後から導入した動く壁紙)を古いアプリに配らないための安全弁です。

マニフェスト自体は CDN のエッジに置き、Cache-Control: max-age=300 で5分だけキャッシュします。短くしているのは、緊急で1枚消したいときに最大5分で全端末へ伝播させたいからです。画像本体は内容が変わらない前提なので max-age=31536000, immutable で1年キャッシュします。

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

この記事の続きを読む

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

この記事で得られること
コンテンツパックをアプリ審査から切り離し、配信を即時化するマニフェスト設計の具体的なスキーマ
全件再取得を避ける差分ダウンロードで、更新1回あたりの転送量を平均 88% 削減した実装
壊れたパックを30秒で巻き戻すバージョンピン留めとロールバック手順(6本横断)
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

アプリ開発2026-06-09
壁紙アプリのバイナリサイズを抑える — 画像をバンドルから切り離す設計判断
壁紙アプリは画像を増やすほどバイナリが膨らみます。同梱とリモート配信の境界をどこに引くか、初回表示を遅くしないプレフェッチ設計、フォーマット最適化までを実測値とともに整理しました。
アプリ開発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駆動開発
※ アフィリエイトリンクを含みます
もっと見る →