Rork で作った Expo アプリのログインを切らさない — トークン更新の競合を単一化で防ぐ
Rork が生成する Expo アプリにログインを足すと、最初は動いても本番でじわじわ「勝手にログアウトされる」報告が増えます。原因の多くはトークン更新の競合です。リフレッシュを単一化し、安全に保存し、失効を正しく扱う信頼性設計を実装視点でまとめます。
電波が切れても操作を止めないアプリ設計 — 楽観的更新と、戻ってきたときの競合解決
Rork で作った Expo アプリを、地下鉄やエレベーターで電波が切れても操作が止まらないように設計します。画面を先に更新する楽観的更新と、通信が戻ったときに食い違いを解く競合解決を、動くコードで組み立てます。
解約だと思って権限を切ったユーザーは、まだ払う気だった — 支払い猶予期間と権限維持の実装
購読の支払いが失敗しても、それは解約ではありません。猶予期間中に権限を切ると復帰可能な売上を自分で捨てます。Rork(Expo)アプリで猶予・課金リトライ・アカウントホールドを取り違えず、権限維持と復帰導線を出す実装をまとめます。
再生成のたびに色と余白が崩れる問題を、デザイントークンの単一情報源で止める
Rork に画面を再生成させるたびに、ボタンの色や余白が少しずつ変わってしまう。その揺れを止めるために、デザイントークンを1か所に固定し、生成物が必ずそこを参照するように仕向ける設計をまとめます。
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か所も含めて手順で整理します。
Rork アプリのプッシュ許可、いきなり出して断られていませんか — 事前許諾で取りこぼしを減らす設計
Rork(Expo)で作ったアプリの起動直後に OS のプッシュ許可ダイアログを出すと、断られた瞬間にもう二度と出せなくなります。一度断られると再表示できない iOS の仕様を踏まえ、自前の事前許諾画面で許可率を底上げする設計を、実装コード込みで整理しました。
アプリを開かなくても更新される、を Expo で実際に届ける — Background Task の現実的な設計
Rork が生成する Expo アプリで『毎朝コンテンツが更新される』体験を作ろうとすると、iOS のバックグラウンド実行は思ったほど律儀に動きません。expo-background-task の最小実装と、実行されない前提で破綻しない設計をまとめました。
Rork(Expo)製アプリから Apple Foundation Models を呼ぶ — オンデバイスAIをネイティブモジュールで橋渡しする
Rork が生成する Expo(React Native)アプリから iOS のオンデバイスAI、Apple Foundation Models を呼ぶには、Swift 側のネイティブモジュールを挟む必要があります。Expo Modules API で橋渡しを書き、未対応端末ではクラウドへ逃がす構成を実装します。
Live Activities をリモートから更新する設計 — Rork 製アプリにロック画面の生きた情報を載せるまで
ロック画面と Dynamic Island に「いま動いている情報」を出す Live Activities を、APNs プッシュでリモート更新する設計をまとめました。push-to-start トークンの取得、content-state ペイロード、stale-date と更新予算の扱い、Expo からのネイティブ橋渡しまで、本番で詰まった点を実コードつきで共有します。
Rork で出したアプリが ITMS-91053 で弾かれたら — Privacy Manifest と Required Reason API の実務
Rork が生成する Expo アプリを App Store に提出すると、コードに覚えがなくても Privacy Manifest 関連の警告で止まることがあります。Required Reason API と SDK 側のマニフェスト漏れの両方を、提出前に潰す手順をまとめました。