RORK LABEN
MAX — Rork MaxはiPhone・iPad・Apple Watch・Apple TV・Vision Pro向けにネイティブSwiftを生成し、2クリックでApp Store公開でき、Xcodeを必要としませんSTACK — 通常のRorkはReact Native(Expo)でクロスプラットフォームのモバイルアプリを作る位置づけ。用途に応じた使い分けが鍵ですFOCUS — BoltやLovableのようなWeb中心ツールと違い、RorkはiOS/Androidのネイティブアプリ生成に特化していますBUGS — 実利用レビューでは遭遇したバグの約70%を手動介入なしで解決、残り3割はエクスポート済みコードでの手修正が必要と報告されていますFUNDING — Rorkはa16z(Andreessen Horowitz)から$2.8Mを調達しましたPRICING — 無料で開始でき、有料プランは$25/月からです。まず触ってから判断できますMAX — Rork MaxはiPhone・iPad・Apple Watch・Apple TV・Vision Pro向けにネイティブSwiftを生成し、2クリックでApp Store公開でき、Xcodeを必要としませんSTACK — 通常のRorkはReact Native(Expo)でクロスプラットフォームのモバイルアプリを作る位置づけ。用途に応じた使い分けが鍵ですFOCUS — BoltやLovableのようなWeb中心ツールと違い、RorkはiOS/Androidのネイティブアプリ生成に特化していますBUGS — 実利用レビューでは遭遇したバグの約70%を手動介入なしで解決、残り3割はエクスポート済みコードでの手修正が必要と報告されていますFUNDING — Rorkはa16z(Andreessen Horowitz)から$2.8Mを調達しましたPRICING — 無料で開始でき、有料プランは$25/月からです。まず触ってから判断できます
記事一覧/開発ツール
開発ツール/2026-06-17中級

Rorkで書き出したアプリがApp Store Connectで「処理中」のまま止まる — 原因の切り分けと対処

Rorkで書き出したアプリをApp Store Connectにアップロードしたのに、ビルドが「処理中」のまま何時間も止まり、TestFlightにも審査提出にも現れない。私が実際に詰まったときの切り分け手順と、再発を防ぐ事前チェックを実コード付きで整理します。

Rork414App Store Connect9TestFlight10処理中トラブルシューティング73

アップロードのプログレスバーは100%まで進み、「正常に送信されました」と表示された——なのに、App Store Connect の TestFlight タブを開いてもビルドが出てこない。ステータスは「処理中(Processing)」のまま、30分待っても、1時間待っても変わらない。これは私自身、複数のアプリを並行して運用するなかで、何度か手が止まった場面です。

厄介なのは、エラーが画面に出ないことです。アップロードは成功しているので、どこを直せばいいのかの手がかりがありません。ただ静かに「処理中」が続くだけで、審査に提出するボタンも押せません。

ここでは、Rork(React Native / Expo 版)や Rork Max(Swift ネイティブ版)で書き出したアプリが App Store Connect の処理中で止まったとき、私が実際にたどった切り分けの順番と、それぞれの直し方を整理します。想像で書いた一般論ではなく、自分が詰まって解決したルートだけをまとめています。

「処理中」には2種類あることを最初に区別する

まず押さえておきたいのは、「処理中」と一口に言っても、内部では性質の違う2つの状態が混ざっている点です。

ひとつは、Apple のサーバーが受け取ったバイナリを展開・検証している正常な処理です。これは多くの場合5〜15分、混雑時でも30分ほどで終わります。新しい Xcode / SDK のリリース直後は世界中のアップロードが集中するため、純粋に行列が長くなることがあります。

もうひとつは、検証の途中で問題が見つかり、Apple がそれを「却下」ではなく「無言の停止」として扱っているケースです。この場合、ステータスはいつまでも処理中のまま、あるいは数時間後に静かにビルドが消えます。Rork で書き出したアプリで私がハマったのは、ほぼ後者でした。

切り分けの第一歩は、30分待っても変わらないなら正常な行列ではないと見切ることです。待ち続けても解決しないので、原因の特定に移ります。

まず登録メールと「アクティビティ」を確認する

App Store Connect の画面には出なくても、Apple は問題を見つけるとビルド責任者のメールアドレスに通知を送ってきます。私の場合、TestFlight 画面には何も出ていないのに、受信トレイに「App Store Connect」からのメールで具体的な拒否理由が届いていた、ということが何度かありました。

確認する順番はこうしています。

まず Apple Developer アカウントに登録しているメールの受信トレイと迷惑メールフォルダを見ます。次に App Store Connect の対象アプリ → 「TestFlight」→ 該当ビルドの「アクティビティ」や、左メニューの通知ベルを確認します。メールが届いていれば、そこに ITMS から始まるエラーコードか、Invalid Binary(無効なバイナリ)の理由が書かれています。

ここで原因が判明すれば、以降の切り分けは不要です。メールが何も来ていない場合だけ、次に進みます。

原因1: 暗号化輸出コンプライアンスの未設定

Rork で書き出したアプリで最も多く遭遇したのが、これです。アプリは HTTPS 通信を行うだけでも「暗号化を使用している」とみなされ、輸出コンプライアンスの申告が求められます。これが未設定だと、ビルドは処理中で止まりやすくなります。

恒久的に解決するには、app.json(Expo)または Info.plist(Swift)に申告を埋め込んでおきます。標準的な暗号化(HTTPS のみ)しか使っていないアプリなら、次の1行で「審査のたびに聞かれる」状態から解放されます。

Expo(app.json)の場合:

{
  "expo": {
    "ios": {
      "config": {
        "usesNonExemptEncryption": false
      }
    }
  }
}

Swift(Info.plist)の場合は、キーを直接追加します。

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

false を指定できるのは、自前で独自の暗号化を実装しておらず、OS 標準の HTTPS や標準暗号 API しか使っていない場合です。独自暗号を組み込んでいるアプリは安易に false にせず、Apple の輸出コンプライアンス要件を確認してください。この1行を入れておくと、次回以降のアップロードで処理が止まりにくくなり、毎回の手動申告も不要になります。

原因2: アイコンの欠落・透過・サイズ不正

処理中で止まり、数時間後にビルドが静かに消える——このパターンで私が突き止めた原因のひとつが、アイコンでした。App Store 用の 1024×1024 アイコンにアルファチャンネル(透過)が含まれていると、検証段階で弾かれます。画面にはエラーが出ず、ただビルドが現れません。

確認はコマンドで一発でできます。透過の有無を見るには、手元のアイコン画像に対して次を実行します。

# アイコンにアルファチャンネルが含まれていないか確認する
sips -g hasAlpha AppIcon-1024.png
# 出力に "hasAlpha: yes" が出たら透過が残っている

透過が残っていた場合は、白などの不透明な背景に合成して書き出し直します。

# 透過を白背景で埋めて不透明なPNGに変換する(ImageMagick)
magick AppIcon-1024.png -background white -alpha remove -alpha off AppIcon-1024-fixed.png

Expo で managed workflow を使っている場合は、app.jsonios.icon に指定する画像そのものを不透明にしておけば、ビルド時に正しいアイコンセットが生成されます。Rork が自動生成したプレースホルダーアイコンをそのまま使うと透過が残っていることがあるので、公開前に必ず差し替えるようにしています。

原因3: ビルド番号の重複

同じ バージョン × ビルド番号 の組み合わせは、App Store Connect に二度アップロードできません。ところが、アップロード自体は成功してしまい、処理中で止まったように見えることがあります。実際には「既存ビルドと衝突したので破棄された」状態です。

私はこれを避けるため、ビルド番号を必ず単調増加させています。Expo の EAS Build なら、リモートで自動採番する設定が確実です。

{
  "cli": {
    "appVersionSource": "remote"
  },
  "build": {
    "production": {
      "autoIncrement": true
    }
  }
}

手動で番号を管理している場合は、アップロード前に App Store Connect 上の最新ビルド番号を確認し、必ずそれより大きい値にします。バージョン を上げたときはビルド番号を1にリセットしても構いませんが、同一バージョン内では重複させないことが鉄則です。

原因4: dSYM 不足や無効なバイナリで「無言の却下」

処理が長引いた末にビルドが消える最後のパターンが、バイナリ自体の検証失敗です。クラッシュ収集のための dSYM が欠落している、対応していないアーキテクチャが混ざっている、といった理由で Apple が無効と判断します。多くはメール通知が来ますが、来ないこともあります。

ここで有効なのが、アップロードする前にローカルで検証してしまうことです。.ipa を作った段階で altool にかければ、App Store Connect の処理を待たずに同等の検証結果が得られます。

# アップロード前にローカルでバイナリを検証する
xcrun altool --validate-app \
  -f build/MyApp.ipa \
  -t ios \
  --apiKey "YOUR_KEY_ID" \
  --apiIssuer "YOUR_ISSUER_ID"

ここでエラーが返れば、処理中で何時間も待つ前に原因がわかります。私は公開フローにこの検証を1ステップ挟むようにしてから、「アップロードしたのに消える」事故がほぼなくなりました。Rork Max の2クリック公開のように書き出しから提出までが自動化されている場合でも、生成された .ipa を一度手元で検証する余地は残しておくと安心です。

それでも処理中が続くとき

ここまでの原因が当てはまらず、メールも来ず、それでも1時間以上処理中が続く場合は、Apple 側の純粋な遅延を疑います。新しい iOS / Xcode のリリース直後は、世界中のビルドが集中して数時間かかることが現実にあります。

このときの私の対処はシンプルです。まず Apple の System Status ページで「App Store Connect」と「TestFlight」が正常稼働かを確認します。問題が出ていれば、待つしかありません。正常稼働なのに3時間以上動かない場合は、まったく同じビルドを再アップロードしない(重複で弾かれます)。ビルド番号だけを1つ上げて、クリーンに作り直したものを上げ直します。これで多くは抜けます。

次にやること

もし今まさに処理中で止まっているなら、まず登録メールを確認し、暗号化輸出コンプライアンスの申告(usesNonExemptEncryption: false)が入っているかを app.jsonInfo.plist で確かめてみてください。私の経験では、Rork で書き出したアプリの「処理中スタック」の半分以上は、この1行で解決します。

同じところで足止めされている方の、最短の抜け道になれば幸いです。

シェア

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

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

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

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

関連記事

開発ツール2026-05-21
RorkでビルドしたiOSアプリがTestFlightで「ITMS-90683」拒否される — Info.plistの使用目的文字列の埋め方
Rork書き出しのiOSアプリをApp Store Connectに提出した直後、メールで「ITMS-90683: Missing Purpose String in Info.plist」を受け取る現象について、原因とapp.jsonからの恒久的な修正手順を、12年間の個人開発で繰り返しハマってきた立場から具体的に説明します。
開発ツール2026-05-27
Rork で出した iOS アプリの「Missing Compliance」を Info.plist 一行で恒久的に止める
Rork で書き出した iOS アプリを TestFlight に上げるたびに表示される「Missing Compliance」の黄色い警告について、原因と Info.plist への一行追加で毎回の確認作業を消す手順を、6 本の壁紙アプリを並行配信している立場から具体的に書きました。
開発ツール2026-06-12
Rork 製アプリの『書類とデータ』が数 GB に膨らむときの原因と対処 — expo-image のディスクキャッシュ管理
アプリ本体は小さいのに『書類とデータ』だけが数 GB に膨らむ——壁紙アプリの運用で実際に踏んだ expo-image のディスクキャッシュ肥大を、cachePolicy の使い分け・縮小版配信・世代別クリアの三段構えで解決した記録です。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →