連線工作站

從 Windows 連線到 Mac

用 VNC 操作桌面,用 SSH 執行建置。

繼續在 Windows 或 Linux 上編寫程式。需要編譯 iOS 專案時,再將專案傳到專屬 macOS 環境。

已有訂單?登入控制台,在執行個體詳情中查看連線資訊。請勿將密碼或私密金鑰放進專案儲存庫。

XCODEHOST / ACCESS 依租用期間連線

核對連線資訊卡

從控制台取得資訊,依連線方式分別填寫。

VNC 桌面
位址 · VNC 連接埠 · 密碼
SSH 建置
位址 · SSH 連接埠 · 使用者名稱 · 金鑰
SFTP 傳輸
沿用 SSH 連線資訊
.ipa

傳送專案 → 編譯並匯出 → 下載產物

指派工作

桌面、命令與檔案分開處理

三種方式連線到同一台機器,不必為每項工作另租一個執行個體。先確認工作需求,再開啟相應的用戶端。

用 VNC 檢查桌面

適合初次檢查環境、操作 Xcode 圖形介面及檢視簽署設定。用戶端會顯示遠端 macOS 桌面,滑鼠與鍵盤操作都會在雲端機器上執行。

初次連線時,建議先使用較低的解析度。確認輸入、畫面與連線都穩定後,再依需求調整顯示品質。

圖形操作

用 SSH 執行建置

適合執行 Flutter、React Native、Unity 匯出專案的編譯命令,也方便檢視記錄。命令會在遠端執行,不必持續傳輸桌面畫面。

一般 SSH 工作階段中斷時,可能會影響前景工作。長時間建置請使用工作階段管理工具,或交由已設定的建置執行器處理。

命令執行

用 SFTP 傳送專案

適合上傳原始碼、資源套件與設定檔,也可下載建置記錄和 .ipa。SFTP 使用 SSH 連線資訊,請勿填入 VNC 連接埠。

首次傳送前,先清除可重新產生的快取。憑證與私密金鑰請分開傳送;下載產物後,核對檔案大小與建置版本。

專案交接

設定 Windows

先填妥 VNC 的三項資訊

準備支援 VNC 的用戶端,再開啟控制台中的執行個體詳情。請以執行個體顯示的連線資訊為準,不要猜測位址或套用預設連接埠。

  1. 01

    填入位址

    將執行個體的連線位址填入用戶端的主機欄位。位址、使用者名稱與訂單編號是不同欄位,請勿將整段連線說明直接貼上。

    如果用戶端將位址與連接埠合併在同一欄,請先確認欄位要求的格式;不同用戶端對冒號的處理方式可能不同。

  2. 02

    填入連接埠

    使用控制台提供的 VNC 連接埠。SSH 與 VNC 是不同服務,連接埠不可互換;若有獨立的連接埠欄位,請將數字填入該欄。

    如果連線逾時,先確認複製時是否帶入空格、目前網路是否限制該連接埠,以及執行個體是否可連線。

  3. 03

    填入密碼

    依用戶端提示填入該執行個體的 VNC 密碼。請勿以控制台登入密碼代替,也不要在公用電腦上儲存登入資訊。

    首次進入桌面後,請檢查鍵盤配置與系統時間,再確認 Xcode 和命令列工具的版本。若登入資訊有異常,請透過支援單處理。

設定 Linux

先登記公開金鑰,再開啟工作階段

SSH 用於執行命令,VNC 用戶端則用於圖形操作。可依工作需求切換連線方式,但請分別確認各自的驗證資訊。

妥善保管金鑰

在自己的 Linux 電腦上產生 SSH 金鑰。私密金鑰僅保留在本機,公開金鑰才用於設定遠端使用者的授權檔案;請勿上傳私密金鑰來設定登入。

ssh-keygen -t ed25519 -f ~/.ssh/xcodehost
chmod 600 ~/.ssh/xcodehost

透過已授權的工作階段或桌面完成公開金鑰登記後,再測試金鑰登入。確認成功前,請勿關閉仍可使用的連線方式。

確認主機

首次透過 SSH 連線時,系統會提示主機指紋。請先透過可信任的管道核對指紋,再予以接受;如果既有記錄有變更,先確認執行個體是否重新安裝,不要直接忽略警告。

ssh -i ~/.ssh/xcodehost \
  -p "$SSH_PORT" \
  "$MAC_USER@$MAC_HOST"

請先將命令中的三個環境變數設為控制台提供的 SSH 連接埠、系統使用者名稱與連線位址。VNC 用戶端則須填入獨立的 VNC 資訊。

執行建置

從登入記錄到匯出產物

以下為命令與預期輸出的節錄,並非線上執行結果。範例假設專案已建立 Archive、簽署設定正確,且已準備好 fastlane 所需的上傳授權。

SSH / Archive / .ipa
$ 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
請依專案調整目錄、Archive 名稱與匯出設定檔;輸出僅供辨識成功階段,不代表任何執行個體已完成建置或上傳。

先檢查環境

使用 xcodebuild -version 確認目前的工具鏈。Flutter 專案請先執行 flutter doctor;React Native 專案確認相依套件後,再執行 pod install;Unity 專案則請先傳入匯出的 Xcode 專案。

再檢查產物

Archive 建立成功,不代表 .ipa 已匯出;匯出成功,也不代表上傳完成。請分別保留三個階段的記錄並下載建置產物;若上傳驗證發生錯誤,請從錯誤所在階段開始排查,不必重新設定遠端桌面。

選擇連線節點

依操作地點查看往返延遲區間

五個節點皆可用於桌面操作、建置與檔案傳輸。參考區間適用於表中所列的周邊區域,並非從任何城市連線都能達到的保證值,也不是即時測量結果。

節點延遲參考:依周邊區域閱讀,並以自己的網路實際測試。
節點 涵蓋區域 參考往返延遲 適合的工作方式
新加坡 東南亞 20~50ms 區域內桌面操作;SSH 建置;專案傳輸
東京 東亞 30~60ms 區域內桌面除錯;SSH 建置;下載產物
首爾 東北亞 30~50ms 區域內遠端桌面;命令列建置;檔案交接
香港 華南與東南亞 20~40ms 區域內桌面操作;SSH 建置;上傳專案
美國西部 北美西岸 25~35ms 區域內桌面檢查;自動化建置;傳輸產物

以上為參考區間,實際狀況以連線網路為準。往返延遲不等於檔案傳輸速度,無法據此推算上傳或編譯所需時間。

經常操作 Xcode 介面時,優先考量操作者所在區域;主要執行無人值守建置時,也要考量原始碼與產物的傳輸路徑。實際可用狀態請以控制台即時顯示為準。

排查延遲

先降低畫面負載,再檢查連線

桌面操作不順、SSH 無法連線、檔案傳輸緩慢,是不同類型的問題。每次只調整一項,並記錄調整前後的狀況。

  1. 01

    降低畫質

    先降低遠端解析度與用戶端畫面品質,並關閉不必要的桌面動畫。透過輸入文字、開啟選單等簡短操作確認效果;不要用播放整段影片來判斷開發桌面的使用體驗。

  2. 02

    改用命令

    若桌面僅用於輔助檢查,可改用 SSH 執行編譯。保留記錄,並分階段安裝相依套件、建立 Archive 與匯出;若 SSH 正常但 VNC 卡頓,應優先檢查畫面傳輸,而非修改專案。

  3. 03

    選擇鄰近節點

    參考表格,選擇接近操作者的節點,同時檢查本地無線網路、代理伺服器與頻寬使用狀況。節點是在下單設定時選擇,請勿以為更換節點會自動遷移現有專案。

用自己的專案試連

先確認桌面、SSH 與檔案傳輸都正常,再開始正式輸出套件。退租前請下載專案與產物,並清除憑證和金鑰;租期到期且未續租時,服務即會停止。