壁紙グリッドに戻ると一番上に戻ってしまう — スクロール位置を「戻る」とプロセス復帰の両方で保つ
壁紙アプリの一覧で詳細を見て戻ると先頭に飛んでしまう問題を、ナビゲーションの戻りとプロセス復帰の二つに分けて設計し直しました。getItemLayout と保存タイミング、復元時のちらつきまで含めた実装メモです。
通知をタップしたのに目的の画面に飛ばない——Rorkアプリのルーティングを起動状態ごとに設計する
通知タップでアプリが起動したとき、目的の画面まで確実に届ける設計。killed / background / foreground の3状態と、ナビゲーション準備前のタップを取りこぼさない pending route の実装を解説します。
Rork アプリの認証トークンはどこに保存すべきか — expo-secure-store と生体認証ゲートの設計
Rork で生成したアプリの認証トークンを AsyncStorage から expo-secure-store へ移し、生体認証を読み出しの前段に挟むまでの設計をまとめました。サイズ制限や失効処理など、運用で踏んだ落とし穴も添えています。
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コードを自分で手当てすべきバグを見分けるトリアージ手順です。エラーを層で分ける切り分け、非同期処理の握りつぶし、OSごとの挙動差、権限とATTの順序など5つの手当てを動くコードで示します。
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に出すプロンプトの基本構造を、機能要件・デザイン・技術要件の3つの層に分けて解説します。家計管理アプリなどの具体例を通じて、UIの指定方法や修正の頼み方を示し、同じ依頼で毎回違う結果が返ってくる問題を減らす書き方を紹介します。実例のプロンプトはそのまま流用できます。