画面を離れてもアニメーションが回り続ける — Rork(Expo)アプリのフォーカス連動でバッテリーを守る
Rork が生成した Expo アプリで、別画面に進んだりホームに戻ったあともグラデーションや呼吸アニメーションが裏で回り続け、ジャンクとして表に出ないままバッテリーを静かに削っていく——その原因は Reanimated の withRepeat が UI スレッドで走り続けることと、ナビゲーションスタックが画面をマウントしたまま保持することにあります。useIsFocused と AppState を束ねたライフサイクル設計で、画面外とバックグラウンドのループを確実に止める実装を、動くコードで示します。
Rork の共有リンクで配布前に実機差分を潰す手順 — プレビューで気づけない不具合の検証順
Rork のエディタプレビューは整った環境で動くため、実機でしか出ない不具合を見逃します。共有リンクで配布する前に潰すべき7つの実機差分と検証の順番、仕込んでおくコードを実体験からまとめました。
アラビア語に切り替えても画面が鏡像化されない — Rork(Expo)アプリのRTL対応と再起動の罠
Rork が生成した Expo アプリにアラビア語を足したのに、画面が左右反転せず戻るボタンが逆側に残る——その原因は I18nManager.forceRTL が再起動を要求することにあります。expo-localization での方向判定、Updates.reloadAsync での確実な反映、marginStart への置き換え、矢印だけの鏡像化まで、動くコードで RTL 対応の本番設計を示します。
Rorkで作ったアプリの審査が、プライバシーマニフェスト不備で止まらないようにする
RorkのExpoアプリでApp Store審査が止まる原因になりがちなPrivacyInfo.xcprivacyとRequired Reason APIへの対応を、app.config.tsの設定とサードパーティSDKの確認手順つきで実務的に整理します。
Rorkの壁紙アプリで、シェア画像にだけ透かしを焼き込む
Rorkが生成したExpoの壁紙・画像アプリで、保存画像はそのまま、SNSシェア用の書き出しにだけ透かしを合成する実装を、react-native-view-shotとSkiaの2通りで、解像度劣化を防ぐ落とし穴つきで整理します。
ユーザー自身の画像を「ファイル」アプリから取り込む — Rorkアプリのドキュメントピッカーとセキュリティスコープ付きURL
写真アプリにない画像を「ファイル」アプリやiCloud Driveから取り込むと、選んだはずのURLが直後に無効になります。expo-document-pickerとセキュリティスコープ付きURL、サンドボックスへの確実なコピーまでを、動くコードで整理します。
Rorkのアプリで音をバックグラウンド再生し、ロック画面から操作できるようにする
Rorkが生成したExpoアプリで音楽やヒーリング音をバックグラウンド再生し、ロック画面・コントロールセンターから操作できるようにするまでを、expo-audioの実装コードと落とし穴つきでまとめます。
通知が一部のユーザーにだけ届かない — Rork(Expo) アプリの到達率を診断して詰める設計
Rork で生成した Expo アプリで、プッシュ通知が一部のユーザーにだけ届かない問題を、送信から表示までの段に分けて診断し、到達率を計測して詰めるための設計を共有します。トークンの失効処理、APNs/FCM の失敗コード記録、優先度とメッセージ種別、特定ユーザーの切り分け手順まで実装込みで解説します。
再インストールしたユーザーが「初回」に戻らない — Rork(Expo) アプリの初回判定と状態永続の非対称設計
Rork で生成した Expo アプリで、再インストール時に初回判定やオンボーディング・無料トライアルの状態が崩れる問題を、ストレージの永続性の非対称として整理し、設計で解く方法を共有します。Keychain と AsyncStorage の生存差、インストールと更新の軸の分離、サーバ権威の権利判定まで実装込みで解説します。
言語を増やすたびに未翻訳が本番へ漏れる — Rork(Expo) アプリの文言カタログ運用と抜け検出の設計
Rork で生成した Expo アプリを多言語化したあと、言語を足すたびに未翻訳が本番へ漏れる問題を仕組みで止めるための設計を共有します。文言カタログの一元化、CI でのキー抜け・余り検出、フォールバック連鎖、複数形、擬似ロケールでのレイアウト検証まで実装込みで解説します。
広告とサブスクを入れた途端に増える「Appプライバシー」の申告 — 実際にチェックを付けた項目の記録
AdMob・RevenueCat・Crashlytics を組み込んだ Rork(Expo) アプリで、App Store Connect の「Appプライバシー」に何をどう申告したか。トラッキングとATTの連鎖まで、6本運用の手元メモとして整理しました。
リリースビルドだけ落ちる — Expo(Android) で R8 が剥がしたクラスを keep ルールで救う
AAB を小さくしようと R8 のコード圧縮を有効化したら、本番だけ特定画面でクラッシュ。剥がされたクラスを mapping.txt から突き止め、expo-build-properties で keep ルールを当てるまでの手順をまとめました。