RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/アプリ開発
アプリ開発/2026-04-18中級

RorkでウォールペーパーアプリをApp Storeに公開した話 — 企画からリリースまでの全記録

Rorkでウォールペーパーアプリを0から作り、App Storeにリリースするまでの実プロセス。iOSの壁紙設定APIの制約、WebP最適化、収益の組み立て方まで、つまずいた点も含めて記録します。

Rork515ウォールペーパーApp Store79個人開発187アプリリリース2iOS108

ウォールペーパーアプリは、個人開発者にとって作りやすいジャンルのひとつです。機能がシンプルで、コンテンツが主役になれる。App Storeに長く残り続けるアプリの特徴を多く持っています。

私自身、壁紙や癒し系のアプリを個人開発で長く運用してきました。その延長でRorkを触り、新しい壁紙アプリを0から作ってリリースするまでを一通り記録したのが本稿です。順調だった部分も、詰まった部分も含めて正直に書きます。とりわけ「iOSでは壁紙をアプリから直接設定できない」という制約は、企画の前に知っておくと設計が変わる話なので、後半で丁寧に扱います。

企画段階——「普通のウォールペーパーアプリ」を作らないために考えたこと

最初にやったのは、App Storeにある既存のウォールペーパーアプリを30本以上インストールして実際に使うことです。その中で感じたのは、「大量の画像を詰め込んだだけ」のアプリが多いということでした。

私が作りたかったのは、セレクトされた少数の画像を、ダウンロードのUXも含めて丁寧に作ったアプリです。100枚の画像より、10枚でも「この選択眼が好き」と思ってもらえるものが目標でした。

この方向性を最初に決めておいたことで、Rorkへの指示がブレなくなりました。作りたい体験が言葉になっていると、生成AIに対しても「何を出してほしいか」がそのまま伝わります。

RorkでのUI構築——うまくいったこと・苦戦したこと

うまくいった部分:

ウォールペーパーアプリのメイン画面は、グリッドレイアウトで画像が並ぶ構成です。これはRorkが最も得意とする部類のUIで、「画像をグリッドで表示するギャラリー画面、タップすると全画面プレビューが開く仕様で作って」と伝えると、かなり完成度の高い初期バージョンが出てきました。

詳細表示画面から壁紙を保存する「ダウンロードボタン」の配置も、自然言語で数回調整するだけで理想に近い位置になりました。

苦戦した部分:

画像の読み込み時のスケルトンアニメーション(読み込み中に表示されるグレーの枠)の調整が難しかったです。「もう少しフェードインをゆっくりに」という指示が通りにくく、最終的にはRorkが生成したコードを直接編集して対応しました。生成AIは全体の骨組みを一気に組むのは得意ですが、こうした感覚的な微調整は、出てきたコードに人が手を入れたほうが速い場面もあります。

iOSでは壁紙を「アプリから直接設定」できない——ここが設計の分かれ目

ここが、壁紙アプリを作る前に一番知っておきたい点です。iOSには、アプリからホーム画面やロック画面の壁紙をプログラムで設定する公開APIがありません。設定を試みる非公開APIは存在しますが、それをApp Storeに提出するとリジェクトされます。「◯◯を壁紙に設定」ボタンで完結するアプリを作りたくても、その体験は公式には作れないのです。

現実的な設計は一択です。まず画像を写真(カメラロール)に保存し、そのあと「写真アプリ、または設定アプリから壁紙に設定してください」と利用者に案内します。Rorkが生成するのはReact Native(Expo)ベースのアプリなので、保存には expo-media-library を使います。

import * as MediaLibrary from 'expo-media-library';
import * as FileSystem from 'expo-file-system';
 
// 壁紙をカメラロールに保存する。iOSでは「壁紙に直接設定」はできないため、
// ここでの役割は「フル解像度の画像を確実に写真へ渡す」ことに絞る
async function saveWallpaper(remoteUrl) {
  const { status } = await MediaLibrary.requestPermissionsAsync();
  if (status !== 'granted') {
    // 権限が拒否されている場合は、設定アプリへの導線を出す
    return { ok: false, reason: 'permission-denied' };
  }
 
  const target = FileSystem.cacheDirectory + 'wallpaper.jpg';
  const { uri } = await FileSystem.downloadAsync(remoteUrl, target);
  await MediaLibrary.saveToLibraryAsync(uri);
 
  return { ok: true };
}

この制約を逆手に取ると、保存直後の一言が体験の質を決めます。私は保存が成功したら「写真アプリを開く」ボタンと、3ステップ(写真を開く→共有→壁紙に設定)の短い案内を出すようにしました。制約そのものは変えられないので、案内の丁寧さで差をつけるという考え方です。「ホーム画面/ロック画面/両方から選べます」といった説明も、アプリ側の画面ではなくこの案内文の中で伝えます。

Rork内のプレビューだけではこの保存と権限まわりの挙動は確認しきれないので、Rork Companionで実機確認をしながら繰り返し調整しました。写真ライブラリへのアクセス許可ダイアログは、実機でしか本当の見え方が分からない部分です。

画像素材の準備——ここに一番時間がかかった

技術的な実装より、コンテンツの準備に一番時間がかかりました。壁紙として使用する画像は、著作権のクリアなものを使う必要があります。私は自分で撮影・制作した画像と、CC0ライセンスの素材を組み合わせました。

解像度はiPhoneの最大表示を想定して用意します。近年の大型モデルは概ね1290×2796px前後なので、余裕を持たせて長辺3000px程度で書き出し、そこから配信用に最適化するのが扱いやすいです。ファイルサイズは体感速度に直結するので、WebPへの変換をおすすめします。

# 元画像をWebPへ変換する。品質82前後が、画質と容量のバランス点になりやすい
cwebp -q 82 wallpaper_3000.png -o wallpaper_3000.webp
 
# フォルダ内をまとめて変換したいとき
for f in originals/*.png; do
  cwebp -q 82 "$f" -o "webp/$(basename "${f%.png}").webp"
done

同じ画像でも、JPEGより2〜3割ほど小さくなることが多く、グリッドのスクロールがなめらかになります。ただし壁紙として「保存」する瞬間だけは、劣化を避けたいので元の高品質な画像を渡すようにし、一覧のサムネイルだけWebPにする、という二段構えにしました。

App Review時に「画像の著作権はどこに帰属するか」を確認されることがあるので、この準備段階で出典と権利のメモを残しておくことをおすすめします。差し戻しの一次対応が驚くほど楽になります。

収益の組み立て方——UXを壊さない広告の置き場所

壁紙アプリは無料で配布し、広告で運用するモデルが多いジャンルです。私も個人開発では広告収益を軸に長く運用してきました。ここで大事なのは、作品としての見え方を広告で壊さないことです。

私が落ち着いた置き場所は、次の考え方です。

広告の種類置く場所意図
インタースティシャル保存アクションの直後操作の区切りで自然に挟む。表示は数回に1回へ頻度制限
リワード限定パックの解放見たい人だけが見る。強制しない
バナー原則置かない壁紙の一覧やプレビューの上に常設しない

いちばん避けたいのは、全画面プレビューの上にバナーを重ねることです。壁紙は「その画像を大きく気持ちよく見せる」のが価値の中心なので、そこに広告を乗せると体験そのものが目減りします。インタースティシャルも毎回出すと離脱に直結するため、保存3回に1回程度から始めて、実データを見ながら頻度を詰めていきました。焦って表示回数を増やすより、長く使ってもらってセッションの総量で稼ぐほうが、この種のアプリでは結果的に収益が安定します。

App Store審査——通過するまでの道のり

最初の申請は、スクリーンショットの仕様が要件を満たしていないという理由で差し戻されました。Rorkで作ったアプリのスクリーンショットをそのまま使っていたのですが、App StoreにはiPhoneの機種別に異なる解像度のスクリーンショットが必要です。

Figmaで各デバイスサイズのスクリーンショットを作り直し、再申請したところ承認されました。審査を通過するまでに要した時間は最初の申請から約6日間。差し戻しから再申請までの調整を含めると合計10日程度でした。これはアプリの内容によって大きく異なりますが、差し戻しは想定内として準備しておいた方が気持ちの上でも楽です。

なお、壁紙アプリで審査時に見られやすいのは、権利まわりと「実質的な機能があるか」の2点です。画像を並べて保存するだけでは薄いと判断されることもあるため、お気に入り保存やカテゴリ分けなど、最低限の「アプリらしさ」を1つ2つ入れておくと安定します。

リリース後の運用で分かったこと

リリース後1ヶ月の数字を振り返ると、ダウンロード数が一番伸びたのはリリース直後ではなく、3週間後にApp Store内検索での順位が上がってきたタイミングでした。

キーワード設定(App Store Connect内の「キーワード」欄)が重要で、「壁紙」「wallpaper」だけでなく、「スマホ 背景」「iPhone 壁紙 おしゃれ」といった複合キーワードを入れておくことで、幅広い検索クエリで表示されるようになりました。100文字の枠は空白で区切らずカンマで詰めると、より多くの語を登録できます。

Rorkで作ったアプリをApp Storeで継続的に運用するうえで一番コストがかかるのは、開発よりも「コンテンツの更新」です。週次または月次で新しい壁紙を追加するサイクルを最初から設計しておくと、長期的な運用が格段に楽になります。私は追加する画像のストックを常に1ヶ月分先回りで用意しておき、更新が滞らないようにしています。

これからRorkで同じことをやる方へ

Rorkでウォールペーパーアプリを作ることは、個人開発の入門として非常に適していると感じました。機能がシンプルなのでRorkの得意な範囲に収まりやすく、コンテンツ(画像)の質でアプリの個性を出せるので、エンジニアリング以外の強みを活かしやすいジャンルです。

最初から完璧な100枚入りアプリを目指すより、厳選した10〜20枚で「この選択が好き」と言ってもらえるアプリを目標にする。そこにiOSの制約を理解した保存導線と、体験を壊さない広告設計を足す。この順番が、長続きする個人開発の入口だと考えています。まずは1枚、自分が本当に良いと思える壁紙から始めてみてください。お読みいただきありがとうございました。

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

ビジネス2026-05-19
Rork で作ったアプリの最初の 72 時間で起きること — クラッシュ・レビュー・広告の優先順位
Rork で組んだアプリを App Store / Google Play にリリースした直後の72時間は、その後の評価とランキングをほぼ決めてしまいます。個人開発で繰り返し経験してきたリリース直後の動きを、対応の優先順位とともに整理します。
Rork 入門2026-04-18
RorkアプリをiOS・Android同時公開したときの手順と、プラットフォームごとに詰まったこと
RorkアプリをApp StoreとGoogle Playに同時公開した実体験をもとに、スクリーンショット仕様・プライバシー設定・審査期間の違いなど、両プラットフォームで詰まりやすいポイントを具体的に解説します。
アプリ開発2026-07-18
1行も書かずに App Store 審査を一周する — ステッカーパックを申請の予行演習に使う
iMessage ステッカーパックはコードなしで App Store に提出できる数少ない枠です。収益にならない制約と引き換えに、申請工程を丸ごと一度通せます。画像仕様の落とし穴と、予行演習としての使い方をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →