Rork で作ったアプリの「写真に保存」が一部の端末だけ失敗する——expo-media-library の権限スコープと保存設計
Rork で生成したアプリの画像保存機能が、自分の端末では動くのに一部のユーザーだけ失敗する——その正体は expo-media-library の権限スコープです。writeOnly 権限・iOS の限定アクセス・Android 14 の部分許可を踏まえた、保存処理とアルバム設計の実装手順をまとめます。
Rork のお気に入り一覧を長押しドラッグで並べ替える — 再レンダリングを抑えた reorderable list と並び順の永続化
Rork が生成したお気に入り一覧に、長押しドラッグの並べ替えを後から足す実装手順です。再レンダリングを抑える設計、worklet の境界、並び順の永続化、ジャンクやゴーストカードの回避までを実コードでまとめました。
Rork の一覧が増えるほどスクロールで重複と欠落が出る——カーソルページネーションと再取得の状態設計
Rork が生成する素朴な offset ページネーションは、リストが更新されるたびに重複や欠落を起こします。カーソル方式の契約設計、取得状態を一つに束ねる usePaginatedList フック、失敗時の指数バックオフ再試行まで、本番運用で詰まらない一覧の作り方を実装中心に解説します。
Rork が直せるバグと自分で直すバグを見分ける — エクスポートコードのトリアージ手順
Rork が自力で直すバグと、エクスポートしたReact Native/Expoコードを自分で手当てすべきバグを切り分けるトリアージ手順を、動くコードとともに整理しました。
Rork アプリの API 通信を堅くする — トークン更新・再試行・冪等性の設計
Rork が生成する fetch はそのままだと、トークン切れ・電波の揺らぎ・二重送信に弱いままです。トークンの自動更新、再試行とバックオフ、冪等性キーを一つのクライアント層に集約する設計を、実装コードと運用の数値とともに整理しました。
Rork が生成したフォーム画面を実戦仕様に直す — react-hook-form と zod で入力体験を立て直す
Rork が出力するフォーム画面は、useState の積み重ねと素朴なバリデーションで一見動きます。けれど実機ではキーボードが送信ボタンを隠し、入力のたびに全体が再描画されます。react-hook-form と zod で作り直す手順を、個人開発の運用視点でまとめました。
Rork アプリのログ設計 — 何を残し、個人情報をどう伏せるか
Rork が生成したアプリは console.log が散らばりがちで、いざ不具合を追うときに肝心の情報が読めません。構造化ログ・ログレベル・個人情報の自動マスキング・本番での送信制御までを、そのまま使えるコードで設計します。
Rork で作ったリストのスクロールが重い — 画像キャッシュとプリフェッチの設計
Rork が生成した FlatList は画像が増えるとスクロールがカクつきます。expo-image のキャッシュ、recyclingKey、プリフェッチ、FlashList への移行を実機の数値とともに整理し、滑らかさを取り戻すまでの設計を残しました。
Rork のプロンプトの書き方 — 思い通りのアプリを作るための指示のコツ
Rork でアプリを作る際のプロンプト(指示文)の書き方のコツを解説。UI デザインの指定方法、機能の伝え方、修正の頼み方まで、思い通りのアプリに近づけるテクニック集。
Rork Max に月 $200 を払う前に、Expo でどこまで届くかを3階層で見極める
ウィジェットや Live Activities が欲しくなると Rork Max が視野に入りますが、その多くは標準 Rork の Expo 構成でも届きます。機能ごとに「Expo で届く・自作モジュールで届く・Max が現実解」の3階層に分け、課金前に実機で見極める手順を整理しました。
Rork が生成した画面に、壊さないための最小限の自動テストを足す
Rork で新しい画面を1つ足したつもりが、離れた場所の課金判定が静かに壊れていた——そんな事故を防ぐために、生成コードへ最小限の自動テストを後付けする手順をまとめました。Jest と React Native Testing Library で、壊れると痛い3か所だけを守る現実的な設計です。
リリース前の手動テストで消耗する前に — Rork アプリの主要動線を Maestro で自動E2E化する
Rork で生成したアプリは、プロンプトでの修正が別の画面を静かに壊すことがあります。起動からペイウォールまでの売上に直結する動線を Maestro で自動テストし、CI で回す実装手順を、私自身が個人開発で詰まった箇所とともに共有します。