すべての記事
1.10.0 の端末が強制アップデートに落ちる — 最小サポートバージョン判定を4実装で実測する
リモート設定で最小サポートバージョンを引き上げるゲートを、バージョン比較の4実装で実測しました。localeCompare が同値と言い切る箇所、fail-open の境界、審査中バージョンを閾値にした事故までを記録しています。
生成した壁紙カタログのハッシュが毎回変わる — 非決定の出どころを5つ切り分ける
同じ画像フォルダから同じ catalog.json が出てこない。opendir の列挙順、JSON.stringify のキー並べ替え、照合順序、Unicode 正規化、非同期の完了順。1,225ファイルで一つずつ切り分けて、出力を1種類に固定するまでの実測記録です。
壁紙カタログに同じ絵が二度並んでいた — 知覚ハッシュの閾値を324枚で実測して決める
画像カタログの重複検出を、SHA-256・dHash・色相署名・ブロック署名の4通りで実測しました。dHash 単独では適合率0.9%。平坦な画像でハッシュが潰れる現象と、閾値ではなく正解ラベルの方が間違っていた顛末を、再現できるコードと数値で共有します。
1行も書かずに App Store 審査を一周する — ステッカーパックを申請の予行演習に使う
iMessage ステッカーパックはコードなしで App Store に提出できる数少ない枠です。収益にならない制約と引き換えに、申請工程を丸ごと一度通せます。画像仕様の落とし穴と、予行演習としての使い方をまとめました。
壁紙の段組みギャラリーにネイティブ広告を差し込む — 広告セルの寿命をプールで設計する
段組みギャラリーにネイティブ広告を1枚入れたところ、20分のスクロールでメモリが伸び続けました。リスト再利用と広告の寿命が噛み合わない理由から、プール方式の実装、差し込み間隔の決め方まで実測とともに残します。
壁紙を長押しして、プレビューと保存メニューを出す — Rork の Expo アプリで context menu を組む
壁紙ギャラリーのカードを長押ししても何も起きない。iOS利用者はプレビュー付きのメニューを期待します。Pressableだけでは届かない理由から、zeegoでのネイティブcontext menu実装、スクロールとの競合解消、保存・共有アクション、Android向けの自前フォールバックまで、動くコードでまとめます。
App Store のスクショは6.9インチだけ撮れば足りる — 多言語アプリの本数を減らす撮影パイプライン
App Store Connect が必須とするのは6.9インチiPhoneと13インチiPadの2枚だけです。Appleが小さい機種へ自動縮小する仕組みを前提に、fastlane snapshotとframeitで多言語スクショの撮影本数を減らす実務をまとめました。
App Store の新しい年齢別レーティングに答え直す — 複数アプリで実際に変わった項目とつまずき
13+・16+・18+が加わったApp Storeの新しい年齢別レーティングに、運用中の複数アプリで答え直した記録です。4つの新設質問カテゴリや最低年齢を自分で引き上げられる仕組み、Rorkで公開したアプリで実際に迷った項目と回答の手順を、つまずきも含めてまとめました。
高さの異なる画像を2列で美しく並べる—Rork の Expo アプリで壁紙ギャラリーを段組みにする
縦横比のばらつく画像を numColumns では美しく並べられない理由から、列の高さを見て振り分ける段組みアルゴリズム、FlashList の masonry での仮想化、依存を増やさない実装まで、壁紙ギャラリーを実コードで組みます。
ワンタイムコードの入力欄をExpoで作る — SMS自動入力とセグメント表示を両立させる
6桁の確認コードを入れる画面は、見た目こそ単純ですが、SMSの自動入力・貼り付け・1文字ずつの削除まで含めると意外と作り込みが必要です。iOSとAndroidの自動入力を最初に押さえ、単一のTextInputで崩れにくいセグメント表示を組む実装をまとめました。
Rork Max(Swift)と通常版(React Native)、どちらで作るか — 個人開発者のための意思決定フレーム
Rork Max のネイティブ Swift と通常版の React Native、どちらでアプリを作るかを迷ったときの判断軸を、コスト・機能境界・移行のしやすさから整理します。個人開発の視点で書いた意思決定フレームです。
Rork Max アプリで通信の切断と復帰に強くする — NWPathMonitor によるオフライン検知と再送設計
Rork Max のネイティブ Swift アプリで、電波が切れても壊れない通信設計を NWPathMonitor で組み立てます。オフラインの検知、Low Data Mode やモバイル回線の判定、復帰時の自動再送キューまで、動く Swift コードで示します。