接続情報を確認
コンソールで情報を確認し、接続方法に応じて入力してください。
- VNCデスクトップ
- アドレス · VNCポート · パスワード
- SSHビルド
- アドレス · SSHポート · ユーザー名 · 鍵
- SFTP転送
- SSHの接続情報を使用
プロジェクトを転送 → ビルド・書き出し → 成果物をダウンロード
ワークステーションに接続
VNCで画面を確認、SSHでビルド。
コードはWindowsやLinuxでそのまま開発。iOSプロジェクトをビルドするときだけ、専用のmacOS環境に転送できます。
注文済みですか?コンソールにログインし、インスタンス詳細で接続情報を確認してください。パスワードや秘密鍵をプロジェクトのリポジトリに保存しないでください。
コンソールで情報を確認し、接続方法に応じて入力してください。
プロジェクトを転送 → ビルド・書き出し → 成果物をダウンロード
タスク別に使い分け
1台のマシンに3つの方法で接続できるため、作業ごとにインスタンスを借りる必要はありません。目的に合わせて、使うクライアントを選びましょう。
初回の環境確認やXcodeのGUI操作、署名設定の確認に適しています。クライアントにリモートのmacOSデスクトップが表示され、マウスやキーボードの操作はクラウド上のマシンに反映されます。
まずは低い解像度で接続しましょう。入力や画面表示、接続が安定していることを確認してから、必要に応じて画質を調整してください。
GUI操作Flutter、React Native、Unityのエクスポート済みプロジェクトのビルドコマンド実行や、ログの確認に適しています。コマンドはリモートで実行されるため、デスクトップ画面を常時転送する必要はありません。
通常のSSHセッションは、切断するとフォアグラウンドの処理に影響することがあります。時間のかかるビルドには、タスクセッションツールを使うか、設定済みのビルド実行環境を利用してください。
コマンド実行ソースコードやリソース、設定ファイルのアップロード、ビルドログや.ipaのダウンロードに適しています。SFTPにはSSHの接続情報を使い、VNCポートを入力しないでください。
初回の転送前に、再生成できるキャッシュを削除しておきましょう。証明書と秘密鍵は個別に転送し、成果物をダウンロードしたらファイルサイズとビルドバージョンを確認してください。
プロジェクトの受け渡しWindowsでの設定
VNC対応クライアントを用意し、コンソールでインスタンス詳細を開きます。接続情報はそのインスタンスに表示された内容を使用してください。アドレスを推測したり、既定のポートを使ったりしないでください。
インスタンスの接続アドレスをクライアントのホスト欄に入力します。アドレス、ユーザー名、注文番号は別々の項目です。接続情報の説明全体を貼り付けないでください。
アドレスとポートを1つの欄に入力するクライアントでは、指定された書式を確認してください。コロンの扱いはクライアントによって異なる場合があります。
コンソールに表示されたVNCポートを使います。SSHとVNCは別のサービスなので、ポートを取り違えないでください。ポート専用欄がある場合は、そこに数字を入力します。
接続がタイムアウトしたら、コピー時に空白が入っていないか、現在のネットワークでそのポートが制限されていないか、インスタンスが接続可能な状態かを確認してください。
クライアントの案内に従って、インスタンスに対応するVNCパスワードを入力します。コンソールのログインパスワードで代用せず、共有PCにも認証情報を保存しないでください。
初めてデスクトップに接続したら、キーボード配列とシステム時刻を確認し、Xcodeとコマンドラインツールのバージョンも確認しましょう。認証情報に問題がある場合は、サポートチケットからお問い合わせください。
Linuxでの設定
SSHはコマンド実行に、VNCクライアントはGUI操作に使います。作業に応じて使い分けられますが、それぞれの認証情報を個別に確認してください。
Linux PCでSSH鍵を生成します。秘密鍵はローカルに保管し、リモートユーザーのauthorized_keysへの登録には公開鍵を使います。ログイン設定のために秘密鍵をアップロードしないでください。
ssh-keygen -t ed25519 -f ~/.ssh/xcodehost
chmod 600 ~/.ssh/xcodehost
許可済みのセッションまたはデスクトップから公開鍵を登録し、その後、鍵認証で接続できるかテストしてください。ログインを確認するまでは、現在使える接続方法を閉じないでください。
初めてSSHで接続すると、ホストフィンガープリントの確認が求められます。信頼できる方法で指紋を照合してから承認してください。以前の記録から変更されている場合は、インスタンスが再インストールされたか確認し、警告をそのまま無視しないでください。
ssh -i ~/.ssh/xcodehost \
-p "$SSH_PORT" \
"$MAC_USER@$MAC_HOST"
コマンドの3つの環境変数には、コンソールに表示されたSSHポート、システムユーザー名、接続アドレスを設定します。VNCクライアントには、別途表示されたVNC情報を入力してください。
ビルドを実行
以下はコマンドと想定される出力の例で、実際にオンラインで実行した結果ではありません。プロジェクトのArchive作成と署名設定が済み、fastlaneに必要なアップロード権限も用意されている前提です。
$ ssh -i ~/.ssh/xcodehost -p "$SSH_PORT" "$MAC_USER@$MAC_HOST"
Last login: ...
$ xcodebuild -version
Xcode ...
$ xcodebuild -exportArchive \
-archivePath build/App.xcarchive \
-exportPath build/export \
-exportOptionsPlist ExportOptions.plist
** EXPORT SUCCEEDED **
$ fastlane pilot upload --ipa build/export/App.ipa
Successfully uploaded package to App Store Connect
次のコマンドで xcodebuild -version 現在のツールチェーンを確認します。Flutterプロジェクトでは、まず flutter doctorを実行します。React Nativeプロジェクトでは依存関係を確認してから pod installを実行し、Unityプロジェクトではエクスポート済みのXcodeプロジェクトを転送します。
Archiveの作成成功は.ipaの書き出し完了を意味せず、書き出し成功もアップロード完了を意味しません。各段階のログを個別に保存し、ビルド成果物をダウンロードしてください。アップロード時にエラーが出た場合は、その段階から原因を確認すればよく、リモートデスクトップを再設定する必要はありません。
接続先を選ぶ
5つの拠点はどれも、デスクトップ操作、ビルド、ファイル転送に利用できます。表の目安は各拠点の対象エリアに基づくもので、任意の都市からの接続を保証する値でも、リアルタイムの測定結果でもありません。
| 拠点 | 対象エリア | 往復遅延の目安 | 適した作業 |
|---|---|---|---|
| シンガポール | 東南アジア | 20~50ms | 同地域からのデスクトップ操作、SSHビルド、プロジェクト転送 |
| 東京 | 東アジア | 30~60ms | 同地域からのデバッグ、SSHビルド、成果物のダウンロード |
| ソウル | 北東アジア | 30~50ms | 同地域からのリモートデスクトップ、コマンドラインビルド、ファイル受け渡し |
| 香港 | 華南・東南アジア | 20~40ms | 同地域からのデスクトップ操作、SSHビルド、プロジェクトアップロード |
| 米国西部 | 北米西海岸 | 25~35ms | 同地域からのデスクトップ確認、自動ビルド、成果物の転送 |
数値は目安です。実際の遅延は接続元のネットワークによって異なります。往復遅延はファイル転送速度と同じではなく、アップロードやコンパイルにかかる時間の推定には使えません。
XcodeのGUIを頻繁に操作する場合は、作業者に近い拠点を優先しましょう。無人ビルドが中心なら、ソースコードや成果物の転送経路も考慮してください。実際の利用可否はコンソールの最新情報をご確認ください。
動作の遅さを解消
デスクトップの操作が重い、SSHで接続できない、ファイル転送が遅いといった問題は、それぞれ原因が異なります。一度に変更するのは1項目にし、変更前後の状況を記録してください。
まずリモート画面の解像度とクライアントの画質を下げ、不要なデスクトップアニメーションをオフにします。文字入力やメニュー表示などの短い操作で改善を確認してください。開発用デスクトップの使い勝手を判断するために、動画全編を再生する必要はありません。
画面操作が確認用だけなら、ビルドはSSHで実行しましょう。ログを保存し、依存関係のインストール、Archive作成、書き出しを段階ごとに実行します。SSHが正常でVNCだけが重い場合は、プロジェクトを変更するのではなく、画面転送を優先して確認してください。
目安の表を参考に、作業者に近い拠点を選びます。あわせて、ローカルのWi-Fi、プロキシ、帯域の使用状況も確認してください。拠点は注文時に選択するため、変更しても既存のプロジェクトが自動で移行するわけではありません。
正式なビルドの前に、デスクトップ、SSH、ファイル転送を確認してください。契約終了前にプロジェクトと成果物をダウンロードし、証明書と鍵を削除しましょう。期限後に更新がなければ利用は停止します。