◉RORK LABEN
●GPT-6.1 SOL — Rork のモデルメニューに追加(09-29)。Low/Medium/High を選べ、Pro・Max に含まれます●SONNET 5.5 — UI づくりが得意で、Sonnet 5 より出力が速いモデルが選べます(09-28)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●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)●SDK 58 — Beta が 09/15 から。stable の案内はまだなく、Expo Go でのプロジェクト実行は 09/03 からログインが必要です●WIDGET — iOS のウィジェットが本番ビルドだけ真っ黒になる原因を追った報告が出ています●OBSERVE — EAS Observe がネイティブクラッシュも記録します(SDK 57.0.21 以降・10/07)●NEW — 起動広告が、背面から戻った回にしか出ていませんでした。「前面に戻った」合図が、…
記事一覧/開発ツール
⬡ 開発ツール/2026-07-17上級

半年ぶりのアップデートで署名が切れていた — Rork アプリの証明書とプロファイルを機械的に見張る

Apple の署名アセットは静かに期限を迎えます。App Store Connect API で証明書とプロファイルの残日数を機械的に棚卸しし、Cloudflare Workers の定期実行で先回りする設計をまとめました。

Rork585Rork Max236App Store Connect API5証明書運用設計8

✦ プレミアム記事

半年ぶりに古いアプリへ小さな修正を入れようとした日のことです。ビルドは通り、提出の直前で止まりました。プロビジョニングプロファイルの期限が、三ヶ月前に切れていました。

困ったのは、切れていたこと自体ではありません。切れたことに誰も気づく仕組みがなかったことです。証明書もプロファイルも、期限が来たその日には何も鳴りません。次にビルドを出そうとした人間が、そこで初めて知る。

Rork や Rork Max を使っていると、この盲点はさらに深くなります。クラウド側でコンパイルされ、2クリックで提出まで進む体験は快適です。その快適さの裏で、署名アセットは自分の Apple Developer アカウントの中に、見えないまま静かに歳を取っています。

個人開発で複数のアプリを並行させていると、「どのアプリの、どのプロファイルが、いつ切れるのか」は頭の中に収まりません。ならば機械に数えさせるのが筋だと考えました。

何が切れて、何が壊れるのか

対処を設計する前に、期限の実像を正確に掴んでおきます。ここを誤解したまま慌てると、必要のない作業に時間を使うことになります。

アセット 有効期間の目安 期限が来たときに起きること
Apple Distribution 証明書 約3年 新しいビルドに署名できなくなる。配布済みアプリは動き続ける
Apple Development 証明書 約1年 実機デバッグ用の署名ができなくなる
App Store 用プロビジョニングプロファイル 約1年 提出用ビルドが作れなくなる。配布済みアプリは影響を受けない
Ad Hoc / Development プロファイル 約1年 そのプロファイルで配ったビルドが起動しなくなる
APNs 認証キー(.p8) 期限なし 期限では失効しない。紛失時の再発行のみ考慮する
App Store Connect API キー 期限なし 期限では失効しない。担当者の離任・漏洩時にローテーションする

最も誤解されやすいのが、太字にした2行の差です。

App Store から配信済みのアプリは、証明書やプロファイルが切れても止まりません。 Apple の配信基盤が署名を検証するのは審査・配信の時点であり、ユーザーの端末で毎回証明書の有効期限を見にいくわけではないためです。ここを取り違えると、「ユーザーのアプリが全部落ちる」という存在しない緊急事態に反応してしまいます。

一方、Ad Hoc やデベロッパー署名で配ったビルドは違います。こちらは端末側でプロファイルの期限が効くため、テスターの手元で本当に起動しなくなります。

つまり、期限切れの実害はこう整理できます。

  • 配信中のアプリ: 実害なし。ただし「直したいときに直せない」状態になる
  • 社内配布・テスター配布: 実害あり。期限日に動作が止まる
  • 緊急のバグ修正: 最悪の組み合わせ。急いでいるときに限って署名から作り直すことになる

私が三ヶ月気づかなかったのも、実害が出ていなかったからです。実害が出ないからこそ、気づく機会がありませんでした。

Rork / Rork Max では誰が署名を持っているのか

責任の所在を押さえておきます。ここが曖昧だと、「Rork が面倒を見てくれているはず」という期待に乗ったまま放置してしまいます。

経路 署名アセットの保管場所 自分が管理すべきもの
Rork(React Native + Expo)→ EAS Build Expo のサーバー側(リモートクレデンシャル) Apple Developer アカウント側の証明書実体・上限枚数
Rork Max(クラウド Mac でのコンパイル) Rork 側が預かる API キー経由で自動生成 API キーの権限と、生成された証明書・プロファイルの棚卸し
手元の Xcode でアーカイブ ローカルのキーチェーン 全て。バックアップ含む

どの経路を通っても、証明書とプロファイルの実体は Apple Developer アカウントの中にあり、それは自分の資産です。ビルドサービスは代理で発行・取得しているに過ぎません。上限枚数を使い切るのも、期限を迎えるのも、自分のアカウントで起きます。

自動生成は便利ですが、便利さは把握の代わりにはなりません。Rork Max の責任境界については Rork Max と Expo の責任境界の設計 でも整理しておりますので、併せてご覧いただければ幸いです。

✦

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

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦証明書とプロファイルの有効期間の違いと、切れたときに「壊れるもの」と「壊れないもの」の線引き
✦依存を持たない Node.js スクリプトで App Store Connect API から残日数を取得する完全な実装
✦Cloudflare Workers の Cron Triggers で週次棚卸しを回し、失効前に手を打つ運用設計
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

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

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

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

関連記事

⬡ 開発ツール2026-10-15
EXPO_PUBLIC_ の値が、開発では読めて本番だけ undefined になる書き方を、変換結果で見分けます
API の URL が開発中は読めるのに、ビルドした途端に undefined になる。原因は process.env の書き方でした。babel-preset-expo の変換結果を開発・本番で並べ、置き換わる書き方と残ってしまう書き方を表にしました。
⬡ 開発ツール2026-10-13
リリース前に、書き出した Expo バンドルの中から自分の鍵を探してみる
ソースに鍵がなくても、出来上がったアプリの中に鍵が残ることがあります。Expo SDK 57 で実際に expo export を実行し、バンドルの中身を grep と 60 行ほどの Node スクリプトで調べて、見つかる鍵と見つからない鍵の違いを確かめました。
⬡ 開発ツール2026-10-07
日本語の見出しだけ太字にならない — Android で fontWeight が効かないときの切り分けと直し方
Rork で作ったアプリで、iPhone では太字なのに Android では日本語の見出しが細いままになる症状の切り分け記事です。原因の見分け方、fontFamily を重みごとに分ける直し方、確認用コードを載せています。