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-05-03上級

Rork × PencilKit で Apple Pencil 対応の手書きノートアプリを作る実装ガイド

PencilKit を使った手書きノートアプリを Rork で本番品質まで仕上げる方法を解説します。Apple Pencil Pro の Squeeze・Barrel Roll・Hover、PKDrawing の保存と CloudKit 同期、Vision での手書き文字認識まで実装パターン付きで掘り下げます。

Rork515PencilKitApple PenciliPad アプリSwiftUI64手書きノート

プレミアム記事

iPad で手書きノートアプリを作ろうとした方なら、一度は PencilKit に触れてみて「思ったより簡単だな」と感じた直後に「保存ってどうやるの? Apple Pencil Pro の Squeeze はどう取るの? クラウド同期はどうする?」で手が止まった経験があるのではないでしょうか。

私自身、3年ほど前から iPad 向けの手書き系アプリを何本か運用していますが、PencilKit は「最低限の動くもの」と「App Store で勝負できるもの」の差が想像以上に大きいフレームワークです。PKCanvasView を 1 行貼るだけでお絵かきはできますが、そこから先で多くの方が挫折します。

ここでは Rork(とくに Rork Max のネイティブ生成)を使って PencilKit ベースの手書きノートアプリを設計するときに、私が実際に踏んできた地雷とその回避策を体系的にまとめます。Apple Pencil Pro の新機能(Squeeze・Barrel Roll・Hover・Haptic)への対応、PKDrawing の永続化、CloudKit を介した端末間同期、そして手書き文字を検索可能にする OCR レイヤーまで、本番投入できるパターンとして整理しています。

なぜ PencilKit を選ぶのか — 自前描画と比べた損得勘定

最初に避けて通れない設計判断があります。手書きアプリの描画レイヤーを「PencilKit」「Metal で自前」「サードパーティ(DrawsanaKit、PSPDFKit など)」のどれにするか、です。

私は迷ったら PencilKit を選びます。理由は次の3つです。

第一に、Apple Pencil Pro の新機能(Squeeze・Barrel Roll・Hover)に追加実装ほぼ無しで対応できます。自前描画でこれを実装すると、UIPencilInteractionUIHoverGestureRecognizerPHASE のハプティクス制御をすべて自前で書くことになり、Pro 非対応端末の検出ロジックも組まなければなりません。

第二に、Apple が毎年 PencilKit を磨き続けており、PKToolPicker の見た目や挙動が iOS 純正の「メモ」「フリーボード」と揃います。ユーザーは標準アプリの操作感を期待してくるので、これに沿うこと自体が UX の競争力になります。

第三に、Scribble(手書き文字の自動テキスト変換)や PKDrawing.image() による高速ラスタライズが無料で手に入ります。自前で書くと OCR と PDF 変換の品質を担保するだけで数ヶ月かかります。

逆に PencilKit を避けるべきケースもあります。漫画・イラスト制作のように複雑なレイヤー機能・カスタムブラシエンジンが核になるアプリでは、Metal で自前実装する方が結果的に早いです。本記事の対象は「ノート・議事録・学習・PDF 注釈」といった汎用ノート系アプリなので、PencilKit が最適解になります。

アーキテクチャ全体像 — Rork で組むときの責務分離

Rork で作るときに最初に決めておきたいのが、SwiftUI レイヤーと UIKit レイヤーの責務分離です。PKCanvasView は UIKit ベースなので、UIViewRepresentable で SwiftUI に橋渡しする必要があります。

私が現在使っている構成は、ざっくり以下の4層です。

  • View 層(SwiftUI): ノート一覧、ツールバー、ページサムネイル
  • Canvas 層(UIViewRepresentable): PKCanvasView と PKToolPicker の橋渡し
  • Document 層(@Observable): PKDrawing と Page の状態管理。Undo/Redo はここに寄せる
  • Persistence 層: ローカル(FileManager)と CloudKit を抽象化したリポジトリ

Rork Max にプロンプトを投げるときも、この4層を明示してあげると生成コードがブレません。「PKCanvasView を SwiftUI で扱える CanvasRepresentable を作って、PKDrawing@Bindable の Document に流し込んでください」という指定の仕方をすると、後段の同期実装まで一貫性が保てます。

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

この記事の続きを読む

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

この記事で得られること
PencilKit を導入してすぐ「線がカクつく」「ツールパレットが意図通り出ない」で詰まっていた人が、Apple Pencil Pro の Squeeze・Hover まで使える本番品質の実装を今日手に入れられる
PKDrawing の保存・差分同期・iCloud 経由の端末間同期を、CloudKit + CKAsset の現実的な構成で動かせるコードを習得できる
手書きノートアプリで安定した収益を上げるための、Apple Pencil 対応・サブスク導線・OCR 検索という3点セットを自分のアプリに移植できる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

開発ツール2026-04-23
Rork アプリに Siri と Shortcuts を統合する — App Intents の Expo 実装と失敗しない設計
Rork で作った React Native アプリに Siri Shortcuts と App Intents を組み込む実装ガイド。Expo Config Plugin で native モジュールをブリッジし、AppShortcut・Entity Query・Donations・Control Center ウィジェットまで本番運用を見据えて解説します。
開発ツール2026-07-18
文字サイズ最大とドイツ語で、生成された画面は静かに詰まる — Rork Max の SwiftUI にレイアウト耐性の検証を通した記録
Rork Max が生成した SwiftUI 画面を疑似ローカライズと最大文字サイズに通し、どこから詰まるかを機械的に洗い出した記録です。ViewThatFits・ScaledMetric・layoutPriority の使いどころと、再生成のたびに回帰を捕まえるスナップショット検証を、実際の数値とともにまとめました。
開発ツール2026-07-17
許可を聞かずに通知を届ける — Rork アプリの provisional 認可と、Expo の定番コードが握りつぶすもの
iOS には許可ダイアログを出さずに通知を配り始める provisional 認可があります。ところが Expo 公式が載せている定番の登録コードをそのまま使うと、provisional で通った端末が「拒否」として扱われ、避けたかったはずのダイアログが出ます。granted が false になる仕組みから、5値で許可状態を扱うフック、静かな配信を前提にした通知設計、昇格を求める判断、計測の分離までを実装込みで整理しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →