RORK LABEN
ENGINE — Rork MaxはClaude CodeとClaude Opus 4.6を基盤に、ネイティブSwiftアプリを直接生成しますCORE ML — Rork MaxからCore MLの端末内推論・HealthKit・HomeKit・NFC・App Clipsといった機能に手が届きますSEED — Rorkは2026年4月にLeft Lane Capital主導で$15Mのシードを調達し、Peak XVやa16z Speedrunが参加しましたM&A — Rorkはアプリビルダー Paperline を買収し、エンジニアリング人材の獲得を目的に買収を継続する方針ですMARKET — Gartnerは2026年末までに新規アプリの75%がローコードまたはノーコードで作られると予測していますGROWTH — ノーコードAI市場は2024年の$4.9Bから2029年に$24.8Bへ、年38.2%の成長が見込まれていますENGINE — Rork MaxはClaude CodeとClaude Opus 4.6を基盤に、ネイティブSwiftアプリを直接生成しますCORE ML — Rork MaxからCore MLの端末内推論・HealthKit・HomeKit・NFC・App Clipsといった機能に手が届きますSEED — Rorkは2026年4月にLeft Lane Capital主導で$15Mのシードを調達し、Peak XVやa16z Speedrunが参加しましたM&A — Rorkはアプリビルダー Paperline を買収し、エンジニアリング人材の獲得を目的に買収を継続する方針ですMARKET — Gartnerは2026年末までに新規アプリの75%がローコードまたはノーコードで作られると予測していますGROWTH — ノーコードAI市場は2024年の$4.9Bから2029年に$24.8Bへ、年38.2%の成長が見込まれています
記事一覧/アプリ開発
アプリ開発/2026-05-31中級

iOSアプリから壁紙を『設定』まで導く現実的な設計 — Save to Photos の権限と Shortcuts 連携

iOSでは壁紙をアプリから直接設定できません。add-only 権限での保存、Live Photo の扱い、設定アプリへの誘導、Shortcuts オートメーションまで、6本の壁紙アプリで詰めてきた実装と計測値をまとめます。

iOS106壁紙アプリ27expo-media-library3権限設計4Shortcuts3Rork498

プレミアム記事

壁紙アプリを作るとき、最後の最後で一番手こずるのは「壁紙に設定」というたった一つのボタンです。画像を並べ、お気に入りを同期し、広告を入れ、課金を組んでも、肝心のこのボタンがiOSでは思ったように作れません。多くの個人開発者がここで「保存しただけで終わってしまい、ユーザーがそのあとどうしていいか分からない」という壁に当たります。

私自身、2014年から個人開発を続けてきて累計5,000万ダウンロードに到達した中で、壁紙・癒し系のアプリを今も6本並行で運用しています。アーティストとして作る画像をどう「相手の手元の画面」に届けるかは、技術というより設計の問題でした。その6本で実際に詰めてきた保存フローの実装と、計測して分かった数値を、ここで共有します。

iOSは「壁紙に設定」をアプリに開放していません

まず受け止めなければならない前提があります。iOSには、サードパーティのアプリがユーザーのロック画面やホーム画面の壁紙をプログラムから差し替えるための公開APIが存在しません。Androidの WallpaperManager.setBitmap() に相当するものは、iOSのアプリ開発者には渡されていないのです。

つまり「壁紙に設定」ボタンができることは、実際には次の2つに限られます。

  1. 画像をユーザーの写真ライブラリ(カメラロール)に保存する
  2. ユーザーを設定アプリの壁紙画面へ誘導し、保存した画像を選んでもらう

この事実を知らずに設計を始めると、「ワンタップで壁紙が変わる」体験を約束してしまい、レビューで「設定されない」という低評価が並ぶことになります。私の場合、最初のバージョンでボタンのラベルを「壁紙に設定」にしていたところ、実際には保存しかしていなかったため、ユーザーの期待と挙動がずれて初週のレビュー平均が下がりました。ラベルを「写真に保存」に変え、保存後の導線を丁寧に作り直したことで、この齟齬は解消しています。

保存だけなら add-only 権限で足ります

写真ライブラリへの保存というと、つい「写真へのアクセス」をまるごと要求しがちです。けれども壁紙アプリがやりたいのは「足す」ことだけで、ユーザーの既存の写真を「読む」必要はありません。ここで使えるのが、iOS 14 で導入された 追加のみ(add-only) の権限レベルです。

フル権限(PHAccessLevel.readWrite)を求めると、ユーザーには「すべての写真へのアクセスを許可しますか」という重たいダイアログが出ます。一方 add-only(PHAccessLevel.addOnly)なら、「写真の追加を許可しますか」という、はるかに軽い文言になります。壁紙を保存するだけのアプリが他人の写真を全部見たがる理由はありませんし、審査でもプライバシー上の説明責任が軽くなります。

ネイティブ側では、Info.plist に保存専用の説明文を入れます。

<key>NSPhotoLibraryAddUsageDescription</key>
<string>選んだ壁紙をあなたの写真に保存するために使用します。既存の写真を読み取ることはありません。</string>

NSPhotoLibraryUsageDescription(読み書き用)ではなく NSPhotoLibraryAddUsageDescription を使うのが肝心な点です。前者を入れてしまうと、保存しかしないのにフル権限の説明文が要求され、審査側に「なぜ全写真へのアクセスが必要か」を問われる余地を残します。

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

この記事の続きを読む

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

この記事で得られること
PHAccessLevel.addOnly でフル写真権限を求めずに保存だけ通す具体的な実装
Live Photo 壁紙が静止画になってしまう原因と、PHLivePhoto を保存する分岐
6アプリで計測した『保存→設定完了率』72%と、権限ダイアログを出す順番の最適化
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

アプリ開発2026-06-23
壁紙アプリの色がくすむ問題と Display P3 — 広色域を配信パイプラインで詰める
同じ壁紙が実機ではくすんで見える。原因は広色域(Display P3)とsRGBの取り違えでした。6本の壁紙アプリで色域を詰めた実装手順に加え、画素が本当に広色域かを見分ける方法、配信前ゲートのスクリプト、Android広色域までまとめます。
アプリ開発2026-06-29
クリップボード連携のUXを整える — iOSのペースト許可バナーを増やさずに「コピー」と「貼り付け」を成立させる
expo-clipboard で「コピー」と「貼り付け」を実装するとき、iOS のペースト許可バナーが頻発して使い勝手を損なうことがあります。バナーの発生条件を押さえ、hasStringAsync で内容を読まずにボタンを出し分ける設計をまとめました。
アプリ開発2026-05-29
壁紙アプリ6本のリリースノートを同期して書いた3週間の所感
Rork で並行運用している壁紙アプリ6本の What's New を同じ週に揃えて書く、という地味な運用を3週間続けて見えてきた所感をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →