バージョンと依存関係を確認
次のコマンドを実行します: xcodebuild -version と xcode-select -pXcodeの設定でコマンドラインツールの選択を確認し、プロジェクトで必要なSDKと対象OSの範囲を確かめてください。
CocoaPods、Swift Package Managerなどの依存関係管理ツールを使っている場合は、プロジェクトの手順に沿って依存関係を復元してください。エラーが出ても、すべてのツールを一度にアップグレードしないでください。
多くの問題は、ブラウザのリモートデスクトップとSSHの2つの方法で解決できます。画面操作にはデスクトップ、ビルド出力の確認にはコマンドラインを使いましょう。まず接続を確認してから、ツールチェーン、署名、ファイルの問題に対応します。
すでに利用中の方は、ログイン後、インスタンス詳細から接続情報を確認してください。共通のホストアドレスやパスワードはありません。
ブラウザデスクトップを使うために、リモートデスクトップ用クライアントをインストールする必要はありません。WindowsからのSSH接続は予備の手段です。画面が正常に表示されない場合でも、マシンに接続できるか確認できます。どちらも、コンソールに表示されたアドレス、ポート、アカウントを使用してください。
コンソールにログインし、利用中の注文とインスタンスを開きます。モデル、ノード、利用期限、現在の状態を確認してください。決済後も開通処理中の場合は、画面の案内を確認し、同じ構成を重複して購入しないでください。
インスタンス詳細からリモートデスクトップを開きます。macOSの画面が表示されてから、デスクトップ領域をクリックして入力してください。接続ページのURLやパスワード、スクリーンショットに含まれる機密情報を他人に共有しないでください。
マウスクリック、英数字の入力、ウィンドウの切り替えを順に試します。Finderを開いてファイルが見えることを確認し、次にターミナルでツールチェーンを確認してください。日本語入力に問題がある場合は、ローカルの入力方式とリモート側の入力ソースを切り分けます。すぐにシステムを再インストールしないでください。
Windows PowerShellで下のコマンドを実行し、インスタンス詳細に記載されたユーザー名、ホスト、ポートを入力します。初回接続時はホスト鍵のフィンガープリントを確認してください。パスワードを入力しても画面に表示されないのは正常です。
Windows PowerShellで接続パラメーターを順に入力します。変数にはご自身が入力した値が使われるため、そのまま接続情報として使うことはできません。
$MacUser = Read-Host "入力インスタンスユーザー名"
$MacHost = Read-Host "入力インスタンスホスト"
$MacPort = Read-Host "入力 SSH ポート"
ssh -p $MacPort "$MacUser@$MacHost"
タイムアウトする場合は、ネットワーク、ホスト、ポートを確認してください。認証に失敗する場合は、ユーザー名と認証方式を確認します。ホスト鍵のフィンガープリントが変わった場合は、システムを再インストールしたか確認し、未確認のまま古い記録を削除しないでください。
SSHで接続できても、プロジェクトの設定が完了したとは限りません。まずXcodeのパスとバージョンを確認してから、プロジェクトのディレクトリでアーカイブを実行します。アップロードには、設定済みのfastlane lane、署名用の情報、配布権限が必要です。
右側はワークフローの例であり、マシンの性能測定結果ではありません。また、すべてのプロジェクトでそのまま実行できるわけではありません。ホスト名も例です。実際の接続には、前のセクションの対話式コマンドを使用してください。
App はschemeの例です。アーカイブを実行する前に、該当するパラメーターをプロジェクトで使用しているworkspace、project、schemeに置き換えてください。依存関係が未インストールの場合は、まず依存関係のエラーを解決します。
fastlane beta すでにbeta laneが設定されているプロジェクトでのみ使用できます。アーカイブが成功したら、配布先での処理状況を確認してください。コマンドを実行しただけでアップロードが完了したと判断しないでください。 beta すでにbeta laneが設定されているプロジェクトでのみ使用できます。アーカイブが成功したら、配布先での処理状況を確認してください。コマンドを実行しただけでアップロードが完了したと判断しないでください。
$ ssh developer@your-mac-host
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
$ xcodebuild -version
$ cd ~/Projects/App
$ xcodebuild -scheme App archive
** ARCHIVE SUCCEEDED **
$ fastlane beta
Successfully uploaded package to TestFlight
実行したコマンド全体、最初に表示されたエラー、最後のエラー概要を保存してください。「ビルドに失敗」とだけ書かれていても、問題の特定には不十分です。
macOSの画面操作とコマンドラインの両方を利用できます。初めてプロジェクトを開く際は、まずツールチェーンを確認してから署名を設定してください。インストール済みのXcodeのバージョンや選択中のバージョンは、インスタンス上で実際に確認してください。
次のコマンドを実行します: xcodebuild -version と xcode-select -pXcodeの設定でコマンドラインツールの選択を確認し、プロジェクトで必要なSDKと対象OSの範囲を確かめてください。
CocoaPods、Swift Package Managerなどの依存関係管理ツールを使っている場合は、プロジェクトの手順に沿って依存関係を復元してください。エラーが出ても、すべてのツールを一度にアップグレードしないでください。
安全な方法で証明書をインスタンスに転送し、「キーチェーンアクセス」で必要な証明書と秘密鍵を読み込みます。パスワードで保護されたファイルを使う場合、パスワードは別の方法で保管してください。
証明書があっても対応する秘密鍵がなければ、そのIDを使う署名はできません。秘密鍵や証明書のパスワードをリポジトリ、コマンド履歴、公開の問い合わせ添付ファイルに記載しないでください。
プロジェクトに必要なプロビジョニングプロファイルを読み込み、Bundle Identifier、チームID、有効期限、配布方法が目的と合っているか確認します。次に、各targetの署名設定を確認してください。
初回はグラフィカルインターフェースで、再現可能なアーカイブを一度作成することをおすすめします。設定を確認してから、同じパラメーターをスクリプトやCIに移し、画面操作とコマンドラインの設定差を減らしてください。
| エラー・症状 | まず確認する項目 | 次の対応 |
|---|---|---|
| No signing certificate | 現在のキーチェーンに必要な署名IDと、それに対応する秘密鍵があるか。 | 読み込んだ証明書と有効期限を確認してください。同じ証明書を何度もダウンロードするだけでは解決しません。 |
| No profiles for… | プロビジョニングプロファイルのアプリID、チーム、配布方法が現在のtargetと一致しているか。 | 一致するプロビジョニングプロファイルを読み込み、プロジェクトの署名設定を確認してください。 |
| User interaction is not allowed | ビルドを実行するユーザー、キーチェーンのロック状態、署名ツールのアクセス権。 | デスクトップでロック解除とアクセス許可を確認し、同じユーザーで再試行してください。 |
| SDKまたは対象OSのバージョンが不一致 | 選択中のXcodeのパス、インストール済みSDK、プロジェクトのデプロイメントターゲット。 | 互換性のあるツールチェーンを選択してください。アップグレード前にプロジェクトの依存関係を確認し、環境をむやみに上書きしないでください。 |
ソースコード、署名用の情報、ビルド成果物は分けて保管してください。まずリモート側にプロジェクト用ディレクトリを作成してからファイルを転送します。IPAを取得したら、ファイルサイズとチェックサムを確認してください。ファイル名だけで転送の完了を判断しないでください。
コードリポジトリがある場合は、チームの認証方式に従ってインスタンス内でプロジェクトを取得し、アクセストークンを共有スクリプトに記載しないでください。ローカルディレクトリしかない場合は、Windows OpenSSHの scpまたはSFTP対応ツールでアップロードできます。
まずリモートのターミナルで次を実行します: mkdir -p ~/Projects下のPowerShellコマンドでは、初回接続時に入力した3つの変数を使い、ローカルのプロジェクトパスを入力します。
$ProjectPath = Read-Host "入力ローカルプロジェクトディレクトリ"
scp -P $MacPort -r "$ProjectPath" "${MacUser}@${MacHost}:~/Projects/"
注意:ssh ポートの指定には小文字の -pを使い、scp では大文字の -Pを使います。アップロード前に保存先を確認し、古い依存関係と新しいプロジェクトが混在しないようにしてください。
Archiveと書き出したIPAは別のファイルです。プロジェクトに必要な書き出し手順を完了してから、macOSのターミナルで ls -lh を実行し、IPAの実際のパスを確認してください。
下のコマンドでは、リモートにあるIPAの絶対パスと、ローカルにすでに存在する保存先ディレクトリを入力します。パスにスペースが含まれる場合は引用符を付けたままにしてください。ダウンロード後にファイルを確認します。
$IpaPath = Read-Host "入力リモートIPAの絶対パス"
$SavePath = Read-Host "入力ローカル保存先ディレクトリ"
scp -P $MacPort "${MacUser}@${MacHost}:$IpaPath" "$SavePath"
チェックサムを確認する場合は、Macで shasum -a 256を実行し、Windowsで Get-FileHash -Algorithm SHA256を実行して、同じファイルの結果を比較してください。
問題が起きたときに何をしていたか記録してから、元に戻せる操作を試してください。画面が真っ暗、入力がずれる、容量が不足するといった症状でも、再インストールが必要とは限りません。再インストールは既存環境に影響するため、最初の対処として行わないでください。
まずインスタンスに接続できる状態か確認し、古い接続タブを閉じてからインスタンス詳細より開き直してください。ローカルネットワークが長時間接続を制限していないか確認し、別のネットワークやブラウザーセッションでも試します。
SSHで接続できる場合は、デスクトップに問題がある一方でコマンドラインは正常であることを記録してください。実行中の作業を保存し、続けて再起動を繰り返さないでください。どちらの方法でも接続できない場合は、インスタンスの状態、エラーメッセージ、発生時刻を添えて問い合わせてください。
まずリモート側の入力欄をクリックし、英語入力に切り替えて英字、数字、記号を試します。macOSの入力ソースとWindowsのキーボードレイアウトを確認してください。ローカルの入力方式による干渉と、リモート側のレイアウトの問題は分けて判断します。
WindowsとmacOSでは修飾キーの使い方が異なり、一部のキー操作はローカルのブラウザーに取り込まれることがあります。まずアプリのメニューから同じ操作を行い、その後キーの割り当てを確認してください。入力欄にフォーカスがあるか確認せずにパスワードを入力しないでください。
macOSのターミナルで df -hを実行し、どのボリュームの容量が不足しているか確認してください。古いArchive、書き出し済みのファイル、シミュレーターデータ、プロジェクトのキャッシュを確認します。削除前に不要であることを確かめ、証明書、ソースコード、唯一のバックアップをキャッシュとして削除しないでください。
容量を追加する必要がある場合は、+1TB SSDまたは+2TB SSDのオプションを確認できます。拡張後、追加容量がマウントされているか、マウント先はどこか、プロジェクトが追加領域を使用しているかを確認してください。追加購入の記録があるだけで、現在のボリュームが拡張されたと判断しないでください。
インスタンスのユーザー名、ポート、現在の認証方式を順に確認し、余分な空白が入っていないか確認してください。鍵認証を使う場合は、指定した秘密鍵ファイルとアクセス権を確認します。秘密鍵の内容を問い合わせ本文に貼り付けないでください。
再インストール後は接続情報が変わることがあるため、インスタンス詳細を確認し直してください。エラーの原文を記録します。認証失敗と接続タイムアウトは別の問題です。問い合わせに「SSHにつながらない」とだけ書かないでください。
ノードは365日稼働していますが、利用できる期間は注文の契約期間に基づきます。長時間のタスクを始める前に、コンソールに表示される利用期限を確認してください。最後のビルドを始めてから更新手続きをすることのないようにしましょう。
コンソールにログインし、注文またはインスタンス詳細で契約期間と利用期限を確認してください。時差のある環境で作業する場合は、ページに表示された時刻とタイムゾーンを基準に確認し、入金時刻を利用期限と取り違えないでください。
ソースコード、署名用の情報、環境設定、ビルド成果物は、それぞれ別にバックアップしてください。利用期限後のマシンを長期保存先として使わないでください。
注文を確認日、週、月、四半期の4つの利用期間に対応し、すべて米ドルで決済されます。コンソールで現在の注文に利用できる更新方法と料金を確認してから、作業期間に合わせて選択してください。
お支払いはUSDT-TRC20、Visa / Mastercard / Amex(Stripe)のみ対応しています。実際に利用できる決済ゲートウェイは、バックエンドからの応答に従います。
料金をすべて確認再インストールは環境を作り直す操作であり、既存ファイルを残したまま修復する操作ではありません。まずビルドを停止し、プロジェクト、証明書、成果物を取得してから、ツールのバージョン、依存関係、起動スクリプトを記録してください。
インスタンス詳細で、現在利用できるシステム操作を確認してください。対象のインスタンスと注意事項を確認してから進め、完了後に接続情報とツールチェーンを再確認します。
インスタンスを管理購入後の技術的な問題は、対応するインスタンスと関連付けられるよう、コンソールにログインして問い合わせを送信してください。購入前のご相談、請求に関するお問い合わせ、ログインできない場合はsupport@osxmesh.comまでご連絡ください。パスワード、秘密鍵、カード番号全桁、証明書のパスワードは送らないでください。
注文番号またはインスタンスID、モデル、ノードを記載してください。ノードはシンガポール、東京、ソウル、香港から、モデルはMesh M4またはMesh M4 Proです。「自分のMac」とだけ書かないでください。
発生日時とタイムゾーン、期待した結果、実際の結果、最後に正常だった操作を記載してください。再現に必要な最小限の手順を添え、常に失敗するのか、時々失敗するのかも明確にします。
接続の問題ではブラウザーとOSのバージョン、エラー画面、SSHが使えるかを記載してください。ビルドの問題ではツールのバージョン、実行したコマンド、最初に表示されたエラーを添えます。スクリーンショットやログをアップロードする前に、機密情報を隠してください。
インスタンス、症状、試した手順を1件の問い合わせにまとめてください。お問い合わせページでは、購入前の相談、請求、技術的な問題について、それぞれ必要な情報を案内しています。