◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SONNET 4.5 — Claude API での提供終了は 11/30、残り35日。API 連携を足したアプリは移行先の確認を●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SONNET 4.5 — Claude API での提供終了は 11/30、残り35日。API 連携を足したアプリは移行先の確認を●SDK 58 ISSUE — Android ウィジェットが定期更新されない、Stripe が静的リンクになるなど初期報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/ビジネス
⟐ ビジネス/2026-10-26初級

ストア申請の前日に、依存ライブラリのどれから確かめるか。非エンジニアでも辿れる5つの順番

申請前日に全部のライブラリを最新へ上げると、古い端末だけ落ちるような不具合を持ち込みがちです。個人開発の壁紙アプリで線引きし直した、ストアに近いものから確かめる5つの順番をまとめました。

ストア申請依存ライブラリexpo-doctornpm outdatedリリース前チェック3初心者23

申請ボタンを押す前日の夜、手元の更新通知がずらりと並んでいるのを見て、「どうせなら全部最新にしてから出そう」と考えたことが、私にもあります。

その判断で出したリリースのあと、古い Android 端末だけがクラッシュしている報告が届きました。手元の端末では一度も起きず、原因は、更新したライブラリが古い OS の前提を一つ外していたことでした(経緯は別の記事に書きました)。上げたこと自体より、何を、どの順で確かめてから上げたのかを持っていなかったことが、いちばんの失敗だったのだと思います。

最初にお伝えしたいのは、結論です。申請前の確認は「新しいものから」ではなく、ストアや SDK が決めているものから確かめます。ここからは、個人開発の壁紙アプリ(Dolice 名義)で線引きし直した順番を、画面とコマンドの両方で書き残してまいります。Rork で生成したプロジェクトでも同じ見方が使えます。

手順1:ストアに出ている版と、手元の版を並べる

最初に見るのは、ライブラリではありません。「いま出ている版」と「これから出す版」の差です。

App Store Connect と Google Play Console を開き、公開中のバージョン番号を控えます。次に、手元のプロジェクトの package.json と app.json(または app.config.ts)にある version を見ます。ここで番号が同じままなら、申請そのものが通りません。

このとき一緒に、前回の申請から何を触ったかを思い出しておきます。更新の記録が git にあれば、git log --oneline で前回のタグ以降を眺めるだけで足ります。触っていない部分は、確認の対象から外せるからです。

手順2:SDK が決めている版とのずれを、機械に出させる

Expo を使うプロジェクトでは、「この SDK なら、このパッケージはこの版」と決まっているものが多くあります。人が目で追うより、コマンドに聞くほうが確実です。

npx expo install --check
npx expo-doctor

1 行目は、SDK が想定する版とずれているパッケージを一覧にします。2 行目は、設定やネイティブ側の整合をまとめて点検します。どちらもファイルを書き換えないので、前日の夜に安心して回せます。

表示された指摘は、すべて直す必要はありません。ただ、赤い行が出たら、その行を読まずに申請しないと決めています。この一線だけは守っています。なお、expo-doctor が見ていない領域もあります。ストア提出の基準については、別の記事で中身を読んで確かめました。

手順3:期限や要件がある依存だけ、先に読む

次に見るのは、「上げなければ申請できなくなるもの」です。代表は 2 つあります。

対象どこで決まるか見る場所
Android の対象 API レベルGoogle Play の要件Play Console の通知と公式ヘルプ
iOS のビルドに使う Xcode / SDKApple の提出要件App Store Connect からのお知らせ

ここは「上げたいから上げる」のではなく、「上げないと出せない」ものです。期限と要件を先に確定させておくと、残りのライブラリは上げない選択肢を持てるようになります。対象 API レベルまわりの具体的な見方は、実効 targetSdkVersion の点検にまとめてあります。

手順4:npm outdated は、メジャー番号が変わったものだけ拾う

ここでようやく、更新通知の山に向き合います。

npm outdated

出力には Current(いま入っている版)、Wanted(package.json の範囲で上げられる版)、Latest(最新の版)が並びます。全部を見ると手が止まるので、Latest の最初の数字が Current と違うものだけを拾います。メジャー番号が変わっているものは、挙動が変わる可能性がある、という約束事だからです。

拾ったものについては、公式の変更履歴(CHANGELOG やリリースノート)の「Breaking」にあたる箇所だけ読みます。全文を読む必要はありません。自分のアプリが使っている機能に触れていなければ、今回は上げません。

Firebase を CocoaPods から Swift Package Manager へ移したときも、同じ姿勢でした。移行の記録は別の記事に残してあります。一度に移さず、小さく試してから本線へ入れる、という順番です。

手順5:上げないと決めたものを、一行で書き残す

最後の手順が、いちばん効いています。上げなかったライブラリと、その理由を、メモに一行ずつ残します。

expo-image:Latest はメジャーが一つ先。今回の画面は旧版の挙動のまま。次回の機能追加のときに検討する。

こう書いておくと、次の申請で同じ迷いをやり直さずに済みます。のちに不具合が出たときも、「上げた側」と「上げなかった側」を切り分けられます。上げる理由と同じ重さで、上げない理由を残します。これが私の線引きです。

次のアクションを一つだけ

次の申請の前に、まず npx expo install --check を一度だけ回してみていただければと思います。結果が空なら、そのまま安心して手順3へ進めます。

もし上げたあとで「手元では動くのに、一部の端末だけ起動しない」という報告が届いたら、起動の経路に載せてはいけないものが混ざっている可能性があります。その見分け方は、起動しない設計を直した記録の中で書いています。

私自身、確認の順番を決めてから、申請前夜の迷いはかなり減りました。同じ課題に向き合っている方の、前夜が少しでも落ち着いたものになれば幸いです。

関連:Rork Max Android アプリが古い OS バージョンだけクラッシュする原因と Java 8 デシュガリング修正/expo-doctor は API レベル 36 を見ていません/Firebase を CocoaPods から SPM へ移した記録/チュートリアルの画像が欠けただけで、アプリごと立ち上がらなくなる設計でした

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

⟐ ビジネス2026-10-25
見た目は不透明なのに「アイコンに alpha チャンネルがあります」と弾かれる。PNG の中身を提出前に確かめます
App Store Connect の ITMS-90717(Invalid large app icon)は、透けて見えない画像でも alpha チャンネルが残っているだけで出ます。6種類のサンプル PNG で見分け方を確かめ、標準ライブラリだけの検査スクリプトと、alpha を外す直し方をまとめました。
⟐ ビジネス2026-10-24
Play の延長期限は11月1日——残り8日で、更新の提出日から逆に数えます
target API 36 の延長期限は11月1日です。期限日そのものではなく、審査と段階公開に必要な日数を引いた「提出の最終日」から数える方法を、手元で動く日数計算スクリプトと一緒にまとめました。
⟐ ビジネス2026-10-23
ストアごとに形の違う売上 CSV は、4列に寄せてから足します。月末の為替と、元通貨の合計を残しておく理由
App Store と Google Play の売上 CSV を、日付・アプリ・金額・通貨の4列に寄せて月別に集計する Python スクリプトです。読めない行を捨てない作り方と、為替を月末の固定値にする理由、元通貨の合計で突き合わせる手順をまとめました。