次に確認することを特定

まずはこちらをご確認ください

納品は注文情報、接続はポート、ビルドはログを確認。キーワードを検索して、すぐ実行できる手順を見つけましょう。

キーワードを入力して該当項目を表示します。検索後にEnterキーを押すと、最初の回答に移動します。

利用中のマシンで問題が起きた場合は、同じチケットに情報を追加してください。継続して調査できます。

問題が起きた段階を選択

問題を4種類に分けて対応します。まずマシンに接続できるか確認し、その後ツールチェーンと署名を調べれば、ネットワークの問題をビルドエラーと誤認せずに済みます。

01 / 納品

起動と納品

支払い後の進捗、接続情報の確認場所、ステータスと接続情報の確認方法。

納品の流れを確認
02 / 接続

リモート接続

SSHのタイムアウト、公開鍵の拒否、デスクトップ接続の失敗を、エラー別に確認できます。

接続エラーを特定
03 / ビルド

Xcodeと署名

archiveログからプロビジョニングプロファイルの照合まで、コンパイル・アーカイブ・書き出しの各段階を切り分けます。

ビルドと署名を確認
04 / 料金

料金と更新

日・週・月・四半期の料金、更新ページ、支払い状況を確認できます。

料金ルールを確認
まずマシンの納品を確認

納品状況は注文ステータスで確認

支払い、注文処理、マシンの納品はそれぞれ別の段階です。支払い後はまず注文を確認してください。決済画面だけで、マシンに接続できる状態だと判断しないでください。

  1. 01

    支払い状況を確認

    コンソールで注文番号、モデル、利用期間、支払い状況を確認してください。オンチェーン送金やカード決済を行っただけでは、注文ステータスの更新が完了したとは限りません。

  2. 02

    納品状況を確認

    該当する注文またはインスタンスの詳細を開き、現在の処理状況を確認してください。納品までの時間と実際の利用可能状況は、コンソールに表示される最新情報をご確認ください。

  3. 03

    接続情報を確認

    納品後、インスタンスの詳細でホストアドレス、ユーザー名、SSHポート、初回ログイン情報を確認できます。そのインスタンスに表示された情報を使い、別の注文の設定値を流用しないでください。

支払い済みなのに接続情報が表示されないのはなぜですか?

今回の支払いに対応する注文を確認し、コンソールの支払い状況を照合してください。支払いが確認済みでもインスタンスが処理中の場合は、注文番号、支払い方法、決済証明の番号、現在のステータスをチケットに記載してください。納品状況を確認できます。

USDT-TRC20で支払った場合はトランザクションハッシュを、カードで支払った場合は決済記録番号をお手元に保管してください。カード番号全桁、セキュリティコード、コンソールのパスワードは送信しないでください。同じ支払いに対して注文を何度も作成しないでください。

SSHのタイムアウトと公開鍵の拒否は、何を確認すればよいですか?

接続がタイムアウトする場合:インスタンスが納品済みで接続可能な状態か確認し、ホストアドレスとポートを一字ずつ照合してください。ローカルネットワーク、プロキシ、アクセスルールも確認します。タイムアウトは認証前に発生するため、公開鍵を何度も変えてもネットワーク経路の問題は通常解決しません。

Permission denied (publickey) が表示される場合:ユーザー名、使用する秘密鍵、コンソールに登録した公開鍵が対応しているか確認してください。アップロードするのは公開鍵ファイルの内容です。秘密鍵は手元に保管し、サポート担当者には送らないでください。以下のHOST、PORT、USERは、インスタンスの詳細に表示されている実際の値に置き換えてください。

ssh -vv -o IdentitiesOnly=yes \
  -i ~/.ssh/id_ed25519 \
  -p PORT USER@HOST

診断ログを送る前に、ホストアドレスや個人のパスなどの機密情報を削除してください。エラーの種類と認証の段階は残します。ホストフィンガープリントが変わった場合は、直前にOSを再インストールしたか確認し、フィンガープリント検証を安易に無効にしないでください。

SSHには接続できますが、リモートデスクトップが開きません。次に何を確認すればよいですか?

まずインスタンスの詳細にあるデスクトップ接続情報を確認し、同じマシンに接続しているか確かめてください。リモートデスクトップとSSHは別々の接続経路です。SSHで接続できても、確認できるのはSSH経路が通じていることだけです。

接続ガイドに従って、デスクトップサービス、アクセス用ポート、トンネルの接続先を確認してください。画面が真っ黒になる場合は、クライアントに表示されたメッセージと発生した手順を記録してから、解像度や画質を下げ、表示の問題か認証の失敗かを切り分けます。再起動する場合は、実行中のアーカイブやテストを先に停止してください。

接続設定と移行の順序については、 SSHとリモート接続ガイドをご覧ください。デスクトップへの接続は、ログイン後にインスタンスの詳細から行えます。

最初に発生したエラーを見つける

archiveに失敗しても、すぐにすべてを削除しない

まず失敗時の状態を記録し、Xcode、Scheme、依存関係、対象プラットフォームを確認してください。ログ末尾の失敗概要は結果にすぎません。最初に出たコンパイルまたは署名のエラーから調べます。

archiveのエラーは、どの順番で調べればよいですか?

現在のコミット、ビルドコマンド、Xcodeのバージョンを記録し、Schemeが存在し、アーカイブ用に設定されていることを確認してください。コマンドラインから実行する場合は、選択されている開発ツールのディレクトリも確認します。GUIで開いたXcodeとCIが別のバージョンを使っている場合があります。

xcode-select -p
xcodebuild -version
xcodebuild -list -workspace App.xcworkspace

App.xcworkspaceとAppは、プロジェクトで実際に使っている名前に置き換えてください。workspaceを使うプロジェクトで誤ってprojectを指定しないようにします。依存関係の復元漏れ、共有Schemeの未コミット、Deployment TargetとSDKの不一致などで、アーカイブ前に失敗することがあります。

set -o pipefail
xcodebuild \
  -workspace App.xcworkspace \
  -scheme App \
  -destination 'generic/platform=iOS' \
  -archivePath "$PWD/output/App.xcarchive" \
  archive 2>&1 | tee archive.log

この手順で生成されるのは.xcarchiveで、配布可能なIPAではありません。アーカイブには成功して書き出しに失敗した場合は、署名とプロビジョニングプロファイルを確認してください。コンパイルの依存関係を最初から調べ直す必要はありません。

DerivedDataを削除するのはどんなときですか?

ツールチェーンの切り替え後にモジュールキャッシュの不整合や生成ファイルの不一致が起きた場合、または同じコミットがクリーンな環境では成功し、古いキャッシュがある環境では失敗する場合に、キャッシュの影響を確認します。まずそのプロジェクトのビルドを停止し、ログを保存してください。ユーザーディレクトリ全体を削除対象にしないでください。

より安全に確認するには、今回のビルド専用に新しいプロジェクトディレクトリを指定します。古いディレクトリは調査できるよう残しておきます。新しいディレクトリでも失敗する場合は、キャッシュを繰り返し削除するのではなく、ソースコード、依存関係、設定を確認してください。

xcodebuild \
  -workspace App.xcworkspace \
  -scheme App \
  -derivedDataPath "$PWD/.build/DerivedData-check" \
  -destination 'generic/platform=iOS' \
  build

ビルドが復旧したら、不要になった古いディレクトリをプロジェクト単位で確認して削除します。ソースコード、署名ファイル、アーカイブ成果物、DerivedDataを分けて保管すると、誤削除のリスクを減らせます。

シミュレーターのランタイムやテスト対象が見つからない場合は?

まず、実行するのがデバイス向けアーカイブかシミュレーターテストかを確認してください。デバイス向けarchiveではiOSデバイスのdestinationを指定し、シミュレーターテストでは使用中のXcodeに対応したランタイムとデバイスが必要です。配布用アーカイブの対象にシミュレーターを指定しないでください。

xcrun simctl list runtimes
xcrun simctl list devices available
xcodebuild -showdestinations \
  -workspace App.xcworkspace -scheme App

ランタイムがない場合は、Xcodeの設定から該当するプラットフォームコンポーネントをインストールしてください。対応するXcodeのバージョンでは、以下のコマンドでiOSプラットフォームコンポーネントをダウンロードすることもできます。まず空きディスク容量を確認し、コマンドラインで使用するXcodeが意図したバージョンであることを確かめてください。

xcodebuild -downloadPlatform iOS

インストール後にdestinationを再表示し、実際に利用可能な対象をCIに設定してください。別のマシンのシミュレーターIDを使い続けないでください。

署名資産を個別に引き継ぐ

証明書、プロビジョニングプロファイル、API Keyは用途が異なります

.p12は証明書と秘密鍵を提供し、プロビジョニングプロファイルはアプリと機能を制限し、API Keyは認証が必要なAPIで使います。これらは相互に代用できません。

.p12を読み込んでも、CIで署名IDが見つからないのはなぜですか?

.p12を安全な経路でマシンに転送し、ビルド用のキーチェーンに読み込んでください。ファイルに対応する秘密鍵が含まれていることも確認します。証明書だけで秘密鍵がない場合、コード署名はできません。読み込みパスワードはCIのシークレット変数から渡し、リポジトリ、コマンドスクリプト、チケットには記載しないでください。

security find-identity -v -p codesigning

実際にrunnerを実行するユーザーの環境で確認してください。デスクトップのユーザーに証明書が見えていても、別のサービスユーザーから見えるとは限りません。キーチェーンがロック解除されているか、そのユーザーの検索リストに登録されているか、署名プロセスにアクセス権があるかも確認してください。

ビルド専用のキーチェーンを使い、タスク終了後は手順に従ってロックしてください。サポートが必要な場合は、情報を伏せたID確認結果とエラーメッセージのみを共有してください。.p12、秘密鍵、読み込みパスワードは送らないでください。

アーカイブは成功したのに、IPAの書き出しでプロビジョニングプロファイルが一致しないと表示されます

Bundle ID、Team ID、書き出しの用途、entitlementsの4点を一致させてください。拡張機能を含むアプリでは、署名が必要な各Targetに対応する設定が必要です。メインアプリの設定が一致していても、拡張機能も一致するとは限りません。

プロビジョニングプロファイルが有効か、使用中の証明書が含まれているか、書き出し設定の署名方式がプロジェクトと一致するかも確認してください。開発・テスト用とリリース配布用では設定が異なります。ファイル名が似ているだけで選ばないでください。

書き出し段階のログと、機密情報を削除したExportOptions.plistを保存してください。チケットには失敗したのがarchiveかexportArchiveかを明記すると、調査範囲を絞り込めます。

App Store Connect API Keyはどのように保管すればよいですか?

.p8ファイルはアクセス制限のあるディレクトリに保存し、Key ID、Issuer ID、ファイルパスはCIのシークレット変数から渡します。アップロードや自動化に必要な権限だけを付与し、キーの内容をlaneに直接記載したり、リポジトリにコミットしたりしないでください。

API Keyは、対応する認証方式を使ったアップロードや管理に利用できますが、ローカルでのコード署名に必要な証明書と秘密鍵の代わりにはなりません。TestFlightへのアップロードに失敗した場合は、ローカル成果物の署名エラーか、API認証・アプリの権限・バージョン情報の問題かを切り分けてください。

キーをローテーションしたらrunnerの設定も更新し、古い参照を削除してください。サポートを依頼する際は、機密情報を除いたエラーコードと実行段階を共有してください。.p8ファイルは送らないでください。

Fastlane matchを新しいマシンで使うとき、まず何を確認すればよいですか?

署名リポジトリへの読み取り権限、復号パスフレーズ、配布種別、アプリ識別子、チーム設定を確認してください。通常のCIでは、準備済みの署名資産を読み取り専用で取得する方法を優先し、実行のたびに証明書を作成・変更しないようにします。

lane :prepare_signing do
  match(
    type: "appstore",
    readonly: true,
    app_identifier: ENV.fetch("APP_IDENTIFIER"),
    team_id: ENV.fetch("TEAM_ID")
  )
end

リポジトリの認証情報と復号パスフレーズは別々に管理してください。取得に失敗する場合はリポジトリ認証、復号に失敗する場合はパスフレーズを確認します。インストールできても署名に失敗する場合は、キーチェーンとプロビジョニングプロファイルを確認してください。これらの問題をまとめて「matchが動かない」と扱わないでください。

利用期間と支払いを分けて確認

4つの期間、料金表どおりに請求

日・週・月・四半期ごとに料金が設定されています。日額を他の期間に単純換算することはできません。どちらのモデルも専有物理マシンで、仮想マシンではありません。実際の注文金額は決済明細をご確認ください。

基本モデルの料金(米ドル/USD)
モデル・構成日週月四半期
OSXBuild Bake M4
M4 / 16GB / 256GB
$20.1$54.2$100.3$272.8
OSXBuild Bake M4 Pro
M4 Pro / 64GB / 2TB
$60.3$162.9$301.6$820.4
4種類の利用期間の選び方と追加オプションの料金は?

マシンを連続して使う予定の期間に合わせてプランを選び、同じ期間のモデル料金と追加オプションを確認してください。利用期間の開始・終了時刻は注文に表示される情報が基準です。「月」は暦月の残り日数を意味するわけではありません。

追加SSDとThunderbolt 5の並列接続には、それぞれ4種類の期間料金があります。コンフィギュレーターで必要な項目を選んでから、決済明細をご確認ください。基本モデルの料金だけで最終請求額を判断しないでください。料金一覧と選び方については、 プランと追加オプションをご覧ください。

更新はどこでできますか?期限前にすべきことは?

コンソールにログインし、該当するサブスクリプションまたは注文を開いて、期限、利用できる更新操作、請求内容を確認してください。支払い後は、新しい有効期限が反映されていることを再確認します。決済ページを開いたり、支払いを送信したりしただけで更新が完了したとは限りません。

自動更新が有効か、未払いの請求があるかは、該当する注文の設定とステータスで確認してください。マシンを使い続ける場合は、早めに更新して結果を確認します。レンタルを終了する場合は、ソースコード、成果物、必要な設定を事前にエクスポートしてください。

利用期間が終了すると、マシンは回収処理に入り、ディスクが安全に消去されたうえでOSが再インストールされます。ノードを唯一のバックアップ先にしないでください。期限後にローカルファイルを取り出せることを前提にしないでください。

利用できる支払い方法と、決済エラーの確認方法は?

支払い方法はUSDT-TRC20とVisa / Mastercard / Amex(Stripe経由)のみです。すべて米ドル(USD)で決済されます。実際に利用できる決済ゲートウェイは、バックエンドから返される情報をご確認ください。

USDT-TRC20で支払う場合は、決済画面のネットワーク、送金先アドレス、金額を一つずつ確認してください。以前の注文の支払い情報を使い回さないでください。カード払いの場合は、決済ゲートウェイの案内に従って認証を完了し、コンソールに戻ってステータスを確認します。

決済エラーについて問い合わせる際は、注文番号、選択した支払い方法、機密情報を除いたエラーメッセージ、取引番号をお知らせください。クレジットカード決済はStripeが処理するため、チケットやメールにカード番号全桁やセキュリティコードを記載する必要はありません。

状況がわかる情報を添えて

チケットを送る前に、この4点を確認

再現できる手順は、「ビルドに失敗した」という一言より役立ちます。実行中のタスクがある場合は、再起動や設定変更の前に現在の状態を保存してください。

  • 状態を保存してから再起動を試した

    まずビルドとテストを停止し、ログと未コミットのファイルを保存してからマシンを再起動してください。再起動の前後で何が変わったかを記録します。中断できないタスクがある場合は、まだ再起動していないこととその理由をチケットに記載してください。

  • SSHポートと公開鍵を確認した

    現在のインスタンス情報と照合し、ホスト、ユーザー名、ポート、鍵の組み合わせを確認してください。具体的なエラーメッセージを共有し、秘密鍵や初回ログインパスワードは送らないでください。

  • ログの末尾50行を添付した

    ログの末尾50行と、最初の関連エラーの前後を添付し、コマンド、Xcodeのバージョン、コミット識別子を記載してください。ログが長い場合は、コンソールのチケットに添付し、トークンや署名用の秘密情報を削除してください。

  • ノードと注文番号を記載した

    注文番号、ノード、問題が発生した日時とタイムゾーン、期待した結果、実際の結果を記載してください。最後に正常動作したときの状況も添えると、基本情報を何度も確認する手間を減らせます。

ビルド成果物に影響を与えず、ログの末尾を表示します:

tail -n 50 archive.log

証明書の秘密鍵、.p12のパスワード、.p8ファイル、アクセストークン、コンソールのパスワードをサポート資料に含めないでください。

解決しない場合は、調査結果をお知らせください

注文済みのマシンや故障については、コンソールにログインしてチケットを送信してください。購入前の相談、ログインできない場合、連絡先情報の追加が必要な場合は、次のメールアドレスにご連絡ください: support@osxbuild.com。

サポートはアジア太平洋地域と米国西海岸のタイムゾーンで連携して対応します。返信状況はチケットの記録またはメールでご確認ください。お問い合わせの際はタイムゾーンと対応可能な時間帯を記載し、新しい情報は元のチケットに追加してください。

お問い合わせ案内では、相談内容ごとに必要な情報をご案内しています。マシンは365日稼働していますが、チケットへの返信時間とノードの稼働時間は異なります。