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-06-30上級

連絡先を全部もらわずに、必要な1件だけ受け取る — iOS 18 の ContactAccessButton

iOS 18 で連絡先アクセスに「限定」の段階が増えました。ContactAccessButton を使えば、全連絡先の許可を求めずに、ユーザーが選んだ1件だけをその場で受け取れます。Rork Max が生成するネイティブ Swift を前提に、設計と実装をまとめました。

ContactsiOS 185ContactAccessButtonRork Max233プライバシー10

プレミアム記事

「友だちを招待する」ボタンを押した瞬間に、「"アプリ名" がすべての連絡先へのアクセスを求めています」と出る——これを見て手が止まる人は少なくありません。私自身、個人開発で長くアプリを出していますが、たった1件を共有したいだけの人にとって、全連絡先の開示要求は明らかに重すぎる取引です。

iOS 18 では、連絡先アクセスに「限定(limited)」という段階が加わりました。そして ContactAccessButton を置くと、許可ダイアログを出すことすらせずに、ユーザーがその場で選んだ連絡先だけをアプリに渡せます。全許可は要りません。Rork Max が生成するネイティブ Swift を前提に、設計の勘所と実装を追います。

「全許可・全拒否」しかなかった頃の問題

これまでの連絡先は、実質「全部見せるか、何も見せないか」の二択でした。1件だけ招待したいユーザーにも全開示を求めるため、拒否されれば機能ごと死にます。個人開発の規模では、この一度の拒否がそのまま離脱になりがちです。

iOS 18 の限定アクセスは、この二択を崩します。ユーザーは「この人とこの人だけ」を選んで共有でき、アプリはその範囲だけを読めます。ContactAccessButton は、その選択をボタン1つに畳み込んだ部品です。

ContactAccessButton を置く

ContactAccessButton は SwiftUI のビューです。検索文字列を渡すと、その条件に合う連絡先を内部で探し、ユーザーがタップした1件だけをアプリへ渡します。重要なのは、このボタン自体は許可ダイアログを出さないことです。

import SwiftUI
import ContactsUI
import Contacts
 
struct InviteField: View {
    @State private var query: String = ""
    @State private var picked: [String] = []   // 受け取った連絡先の識別子
 
    var body: some View {
        VStack {
            TextField("名前で検索", text: $query)
                .textFieldStyle(.roundedBorder)
 
            ContactAccessButton(queryString: query) { identifiers in
                // ユーザーがタップした連絡先だけがここに届く
                picked.append(contentsOf: identifiers)
                fetchPickedDetails(identifiers)
            }
            .frame(height: 44)
        }
    }
}

ユーザーが入力した名前に一致する候補がボタンの中に現れ、タップされたものだけが identifiers として返ってきます。全件を読む権限を一度も求めずに、必要な1件を受け取れます。

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

この記事の続きを読む

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

この記事で得られること
ContactAccessButton で全連絡先の許可を求めず、ユーザーが選んだ連絡先だけを受け取る実装(動く SwiftUI つき)
limited 認可と ContactAccessPicker を使い、後から共有範囲を増減できる UI の作り方
全許可前提の旧コードからの移行手順と、許可拒否で機能が死なない設計のつまずきどころ
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-05-04
Rork Max で子ども向けアプリを作る — App Store Kids カテゴリ審査・COPPA対応・ペアレンタルゲートの実装ガイド
Rork Max で子ども向けアプリを開発・公開するための完全ガイド。App Store Kids カテゴリの審査基準、COPPA 準拠の実装パターン、ペアレンタルゲートのコード例、Ask to Buy 対応まで、個人開発者が実際に直面する落とし穴を軸に解説します。
開発ツール2026-07-19
Rork Max の2クリック提出が止まったとき、どの層で詰まったかを自分で見分ける
Rork Max の1クリック実機・2クリック提出は、iOS申請の複雑さを4つの層に畳んで隠しています。抽象が漏れて提出が止まったとき、どの層のエラーかを見分け、自分で直せるようになるための地図を示します。
開発ツール2026-07-18
文字サイズ最大とドイツ語で、生成された画面は静かに詰まる — Rork Max の SwiftUI にレイアウト耐性の検証を通した記録
Rork Max が生成した SwiftUI 画面を疑似ローカライズと最大文字サイズに通し、どこから詰まるかを機械的に洗い出した記録です。ViewThatFits・ScaledMetric・layoutPriority の使いどころと、再生成のたびに回帰を捕まえるスナップショット検証を、実際の数値とともにまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →