RORK LABEN
SDK58 — Expo SDK 58 のベータが始まりました。React Native 0.88 の RC を同梱し、ベータ期間は3〜4週間と公式に書かれています11/01 — Google Play の対象 API レベル、延長を申請した場合の配信期限は11月1日です。残り44日ですEASENV — ローカルビルドに渡したはずの秘密が、中身ではなく変数名の文字列のまま届く、という報告が長く開いたままですNEW — 推奨された移行先が、すでに停止していました。廃止表を74行突き合わせた記録ですUISCENE — iOS 27 では新しい画面ライフサイクルが必須です。SDK 57 では自分で有効にする設定で、既定になるのは 58 からですCREDIT — 「AI のエラーには消費しない」がどこまでを指すのかは、同じ修正を何度か頼んだ日の記録を取ると見えてきますSDK58 — Expo SDK 58 のベータが始まりました。React Native 0.88 の RC を同梱し、ベータ期間は3〜4週間と公式に書かれています11/01 — Google Play の対象 API レベル、延長を申請した場合の配信期限は11月1日です。残り44日ですEASENV — ローカルビルドに渡したはずの秘密が、中身ではなく変数名の文字列のまま届く、という報告が長く開いたままですNEW — 推奨された移行先が、すでに停止していました。廃止表を74行突き合わせた記録ですUISCENE — iOS 27 では新しい画面ライフサイクルが必須です。SDK 57 では自分で有効にする設定で、既定になるのは 58 からですCREDIT — 「AI のエラーには消費しない」がどこまでを指すのかは、同じ修正を何度か頼んだ日の記録を取ると見えてきます
記事一覧/開発ツール
開発ツール/2026-06-17上級

誕生日を集めずに年齢を確認する — Declared Age Range API を Rork アプリに組み込む

iOS 26 の Declared Age Range API を使い、生年月日を保存せずに年齢層だけを受け取る実装方法。Rork Max のネイティブ Swift と、標準 Rork(Expo)のネイティブモジュール越しの呼び出しを、責務の線引きとともに整理します。

rork-max41ios-26age-verificationswift8expo12

プレミアム記事

ある朝、ストア審査前に気づいたこと

壁紙アプリの小さな更新を出そうとして、App Store Connect の年齢関連の設定を見直していたときのことです。これまで「対象年齢」を申告すれば済んでいた欄に、地域によっては実際の年齢確認が求められる、という新しい前提が入り込んでいました。

最初に頭をよぎったのは、生年月日の入力欄を足すという昔ながらの発想でした。けれど、個人開発の小さなアプリで生年月日を預かるのは、保存も削除依頼への対応も含めて重すぎます。集めた瞬間に、それは守らなければならない個人情報になります。

iOS 26 で追加された Declared Age Range API は、ここに別の道を示してくれます。アプリは「誕生日」ではなく「年齢層」だけをシステムに尋ね、OS が iCloud アカウントの情報をもとに必要最小限の答えを返す。アプリ側に生年月日は一切渡りません。この API を Rork で作ったアプリに組み込む手順を、Rork Max(ネイティブ Swift)と標準 Rork(Expo)の両方の経路で、順を追って見ていきます。

この API が解こうとしている問題

従来の年齢確認には、構造的なジレンマがありました。正確さを求めると生年月日や身分証を集めることになり、プライバシーと運用コストが膨らみます。逆に「あなたは13歳以上ですか?」というチェックボックスだけでは、確認したことにはなりません。

Declared Age Range API は、この板挟みを OS 側に肩代わりさせます。アプリが宣言するのは「自分のアプリにとって意味のある年齢の境界(age gate)」だけです。たとえば 13・16・18 という境界を渡すと、システムは利用者に確認を取り、その人がどの区間に収まるかだけを返します。アプリは「16歳以上の区間に入っている」ことは分かっても、正確な年齢や誕生日は受け取りません。

私自身、この設計の割り切り方には納得感があります。アプリが本当に必要としているのは「この機能を出してよい相手か」という判断材料であって、誕生日そのものではないからです。

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

この記事の続きを読む

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

この記事で得られること
requestAgeRange の3つの応答状態(共有・拒否・年齢層)を取りこぼさず扱う実装パターン
標準 Rork(Expo)から API を呼ぶためのネイティブモジュール境界の作り方と、再生成で壊さない配置
テキサス州の新規アカウント要件(2026年1月1日〜・iOS/iPadOS のみ)への現実的な適用範囲の見極め
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-05-23
Rork Max で生成した Swift コードを Xcode で「赤いエラーだけ」消すまでの優先順序
Rork Max が生成した Swift プロジェクトを Xcode で開いたときに出る赤いエラーを、どの順序で潰すと最短で実機ビルドに到達するか。私が壁紙アプリ運営の経験から作った優先順序のメモです。
開発ツール2026-04-19
Rorkで作ったアプリが実機でクラッシュする——原因別の対処法
Rorkのプレビューでは動くのに実機でクラッシュする問題を原因別に整理します。環境変数の未設定、ネイティブモジュールの互換性、iOSとAndroidのパーミッション設定漏れ、SupabaseやFirebaseの初期化タイミング、クラッシュログの読み方まで解説します。
開発ツール2026-04-10
Rork Max 上級テクニック — SwiftUI APIとクラウド開発
Rork Maxをプロダクション水準で使うための上級テクニック集です。クラウドMacフリートの仕組み、カスタムSwiftUIコンポーネントの設計、外部API連携、SwiftDataによる永続化、Apple WatchやVision Proへのマルチプラットフォーム対応までを解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます