RORK LABEN
BUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要ですBUILD — Rork Max はクラウド上の実機 Mac に Xcode と iOS SDK を載せ、SwiftUI を書き、ビルドし、エラーを読んで直す反復を回します。コードを吐いて終わりではない点が生成物の質に効いていますNATIVE — 生成されるのは React Native ではなく純粋な Swift / SwiftUI です。AR や Metal、ウィジェットなど React Native からは届かない機能に手が届くことが、他ビルダーとの実質的な差になりますPLATFORMS — 対応は iPhone・iPad・Apple Watch・Apple TV・Vision Pro に加えて iMessage まで含みます。ウォッチや拡張から入る設計を試すのに向いていますCOMPANION — Rork Companion により、有料の Apple Developer アカウントなしで生成したアプリを実機の iPhone で確認できます。最初の一本を試す段階の障壁が一段下がりましたPRICING — 無料で開始でき有料プランは月額25ドルから、Rork Max は月額200ドルの Max プランです。回収できる本数と規模を先に見積もっておく価値がありますDEADLINE — Google Play は2026年8月31日以降、新規アプリと更新の双方に対象 API レベル36 以上を要求します。残り10日で、生成物の targetSdkVersion は自分で確認が必要です
記事一覧/アプリ開発
アプリ開発/2026-07-03中級

Rork Max アプリから予定をカレンダーに登録する — EventKit の権限3段階と書き込み専用アクセスの設計

iOS 17 以降の EventKit は許可不要UI・書き込み専用・フルアクセスの3段階になりました。Rork Max アプリで許可率を落とさずカレンダー・リマインダー連携を実装する手順と審査対策をまとめます。

Rork Max233EventKitカレンダー連携iOS 172権限設計4リマインダー3

プレミアム記事

「すべてのカレンダーへのアクセス」という一文の重さ

習慣づけ系のアプリに「予定をカレンダーにも入れる」ボタンを試作したときのことです。実装そのものは半日で動いたのですが、TestFlight で配った知人数十人の反応が想像以上に渋いものでした。理由を聞いてまわると、ほぼ全員が同じ箇所を挙げます。フルアクセスの許可ダイアログに表示される「すべてのカレンダーの予定への アクセスを許可しますか」という一文です。仕事の予定も家庭の予定も見られるように読めるこの文言は、予定を1件書き込みたいだけの機能には明らかに過剰でした。手元の集計では、この時点の許可率は5割を切っていました。

転機は iOS 17 の EventKit 刷新を調べ直したことでした。書き込み専用アクセスに切り替え、さらに一部の導線を許可不要のシステム UI に寄せたところ、同じテスト群で「カレンダーに入れる」機能の利用完了率は8割台まで戻りました。個人開発では権限ダイアログの1枚が機能の生死を分けます。ここでは Rork Max で生成したネイティブ Swift アプリを前提に、EventKit の3段階のアクセスレベルをどう使い分けるか、動くコードと審査対策まで含めて実装します。

なお、アプリ内に自前のカレンダー画面を作る話とはレイヤーが異なります。自前カレンダー UI の構築は Rork でカレンダー・スケジュール管理アプリを作る初心者向けチュートリアル が扱っているので、本稿は「ユーザーが普段使っている標準カレンダー・リマインダーに書き込む」連携に絞ります。

iOS 17 で EventKit は3段階になりました

iOS 16 までのカレンダー権限は NSCalendarsUsageDescription 1本の全か無かでした。iOS 17 SDK でビルドするアプリからは、これが3段階に分かれています。

アクセスレベルできること必要な Info.plist キー許可ダイアログ
許可不要(EventKitUI)システム標準の編集画面経由で予定を追加。アプリはカレンダーデータに一切触れない不要表示されない
書き込み専用コードから予定を直接保存。既存予定の読み取りは不可NSCalendarsWriteOnlyAccessUsageDescription「予定の追加のみ」と明示される軽い文言
フルアクセス予定の読み取り・検索・編集・削除まで全てNSCalendarsFullAccessUsageDescription「すべてのカレンダーの予定」に触れる重い文言

最初に踏む落とし穴がひとつあります。iOS 17 SDK でビルドしたバイナリでは、旧来の NSCalendarsUsageDescription を書いていても新 API の要求時に参照されず、キー欠落として実行時クラッシュします。Rork Max に「カレンダー連携を追加して」とだけ頼むと、学習データの都合か旧キーで Info.plist を生成してくることがあり、私自身もシミュレータで This app has crashed because it attempted to access privacy-sensitive data without a usage description に一度ぶつかりました。生成後に新キーへ置き換わっているかを必ず確認してください。

リマインダー側も同様に NSRemindersFullAccessUsageDescription へ移行しています。ただし後述のとおり、リマインダーには書き込み専用の段階が存在しません。この非対称が設計判断に効いてきます。

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

この記事の続きを読む

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

この記事で得られること
権限ダイアログで離脱されていたカレンダー連携を、許可なしで予定を登録できる導線に設計し直せる
iOS 17 で3段階になった EventKit のアクセスレベルを使い分け、権限文言が原因の審査リジェクトを避けられる
予定の重複チェックからリマインダー登録まで、動く Swift コードを自分のアプリに今日組み込める
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

アプリ開発2026-07-05
Rork Max(Swift)と通常版(React Native)、どちらで作るか — 個人開発者のための意思決定フレーム
Rork Max のネイティブ Swift と通常版の React Native、どちらでアプリを作るかを迷ったときの判断軸を、コスト・機能境界・移行のしやすさから整理します。個人開発の視点で書いた意思決定フレームです。
アプリ開発2026-07-03
Rork Max アプリで通信の切断と復帰に強くする — NWPathMonitor によるオフライン検知と再送設計
Rork Max のネイティブ Swift アプリで、電波が切れても壊れない通信設計を NWPathMonitor で組み立てます。オフラインの検知、Low Data Mode やモバイル回線の判定、復帰時の自動再送キューまで、動く Swift コードで示します。
アプリ開発2026-07-03
Rork Max アプリに読み上げ機能を組み込む — AVSpeechSynthesizer の音声選択と発話中ハイライトの設計
Rork Max のネイティブ Swift アプリに読み上げ機能を組み込む実装メモです。AVSpeechSynthesizer の音声選択、発話中の単語ハイライト、オーディオセッションの設計、そして日本語で詰まりやすい落とし穴までまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →