すべての記事
Expo のプッシュ通知トークンを本番で取りこぼさないために整えたこと
Rork で生成した Expo アプリに再訪促進のプッシュ通知を入れたところ、配信数がアクティブ数より明らかに少ない事態に直面しました。原因はトークンの取りこぼしと失効放置でした。取得から更新、サーバー保存、失効掃除までの運用設計を実装コード付きで記録します。
Rork Max が生成した SwiftUI アプリに SwiftData を後付けする
Rork Max が出力した SwiftUI コードは画面は作れても永続化が @State 止まりになりがちです。SwiftData を後付けする際のモデル設計、ContainerとViewの接続、スキーマ移行の実装パターンを手を動かしながら整理しました。
Rork で作った Expo アプリのログインを切らさない — トークン更新の競合を単一化で防ぐ
Rork が生成する Expo アプリにログインを足すと、最初は動いても本番でじわじわ「勝手にログアウトされる」報告が増えます。原因の多くはトークン更新の競合です。リフレッシュを単一化し、安全に保存し、失効を正しく扱う信頼性設計を実装視点でまとめます。
Rork Max の App Intents で Siri とショートカットにアプリの操作を渡す
Rork Max が生成した Swift アプリに App Intents を実装し、Siri とショートカットからアプリの操作を呼べるようにする手順を、AppShortcut の登録から本番での躓きどころまで実コードでまとめました。
電波が切れても操作を止めないアプリ設計 — 楽観的更新と、戻ってきたときの競合解決
Rork で作った Expo アプリを、地下鉄やエレベーターで電波が切れても操作が止まらないように設計します。画面を先に更新する楽観的更新と、通信が戻ったときに食い違いを解く競合解決を、動くコードで組み立てます。
解約だと思って権限を切ったユーザーは、まだ払う気だった — 支払い猶予期間と権限維持の実装
購読の支払いが失敗しても、それは解約ではありません。猶予期間中に権限を切ると復帰可能な売上を自分で捨てます。Rork(Expo)アプリで猶予・課金リトライ・アカウントホールドを取り違えず、権限維持と復帰導線を出す実装をまとめます。
Rork アプリの Neon × Drizzle バックエンドを本番で運用する — エッジ接続・無停止マイグレーション・型安全クエリの実装メモ
Rork で生成したアプリのバックエンドに Neon Serverless Postgres と Drizzle ORM を据えたあと、本番で詰まる箇所を実装ベースで整理しました。エッジでの接続モデルの選択、無停止マイグレーション、型安全クエリの設計までをまとめています。
再生成のたびに色と余白が崩れる問題を、デザイントークンの単一情報源で止める
Rorkに画面を再生成させるたびにボタンの色や余白が少しずつ変わる問題を、デザイントークンの単一情報源で止める設計です。トークンを1か所に固定して生成物に参照させる方法、CIでの逸脱検出、複数アプリで一貫性を保つ注意点まで、本番で効いた数値とともにまとめます。
Rork Max が生成した Swift アプリで Dynamic Island に進行状況を映す
Rork Max が出力した Swift アプリに ActivityKit の Live Activity を足し、Dynamic Island へ進行状況を表示するまでの実装手順と、本番で踏んだ更新まわりの落とし穴を整理しました。
Rork Max の Swift 生成と Expo 版の責務分界 — どこまでをノーコードに任せ、どこから手で書くか
Rork Max が Swift ネイティブ生成に対応し、通常の Rork は引き続き Expo(React Native)を生成します。2つの生成エンジンを1つのアプリ事業の中でどう使い分けるか、責務の線引きを実アプリの運用視点で設計します。
「広告を消す理由」が3つに増えた日 — Rork アプリの広告非表示判定を1か所に畳む設計
課金していないはずの画面だけ広告が出る、あるいは課金済みの読者に広告が出てしまう。原因の多くは「広告を消す条件」がコードのあちこちに散らばっていることでした。サブスク・買い切り・リワード時限解除の3つを1つの状態に畳み、すべての広告表示を同じフックに通す設計を、個人開発で6本のアプリを運用してきた実装メモとしてまとめます。
Rork 製アプリのウィジェットにタップで動くボタンを置く — App Intents で「アプリを開かない操作」を実装する
Rork が生成する Expo アプリのウィジェットに、タップしてもアプリを開かずに状態を変えるボタンを置く方法です。App Intents と WidgetKit を App Group で結び、reloadTimelines まで往復させる実装を、詰まった2か所も含めて手順で整理します。