从交付到开工

你的那台连不上,
先从这里查起

这里是独享云端 Mac 的连接与开发环境指南。先核对控制台交付的信息,再检查工具链和任务配置。你的节点是独享物理机,非虚拟机;图形界面与命令行都可使用。

已有订单请进入实例详情。主机地址、用户名、端口与当前交付状态,以控制台实时返回为准。

首次连接

先取连接信息,再选连接方式

远程桌面适合检查系统、配置 Xcode 和调试图形界面;SSH 适合拉取代码、执行构建和读取日志。两种方式连接同一台机器,不需要把工程复制两份。

图形界面

屏幕共享 / VNC

在控制台实例详情取出远程桌面地址与凭据。macOS 客户端可使用屏幕共享;其他系统使用兼容 VNC 的客户端。不要把 SSH 密码与独立的 VNC 凭据混用。

  1. 复制主机地址、远程桌面端口和用户名,检查是否夹带空格。
  2. 在客户端填写地址与端口。VNC 常见端口为 5900,实际端口必须照控制台填写。
  3. 按交付说明完成认证。若提示认证失败,先核对用户名与凭据类型,再重试。
  4. 进入桌面后修改初始系统密码;若使用独立远程桌面凭据,也按实例说明更新并妥善保存。

桌面延迟大时,先降低画面质量、关闭不必要的桌面动画;保留一条 SSH 连接,便于区分网络问题与图形会话问题。

命令行

SSH

使用系统终端或可信的 SSH 客户端。SSH 常见端口为 22;若交付信息使用其他端口,连接命令需要带上对应的 -p 参数。

  1. 从实例详情取出主机地址、SSH 端口与用户名,不使用猜测的默认账户。
  2. 用 ssh -p PORT USER@HOST 连接,将大写字段替换为交付值。
  3. 首次出现主机指纹提示时,先核验可信的实例信息。指纹突然变化时停止连接并提交工单。
  4. 首次登录后执行 passwd 修改初始密码,再配置自己的 SSH 公钥。

确认公钥登录成功后,再调整密码登录策略。变更前保留已登录会话,避免把自己锁在机器外。

从报错开始排查,不反复重置机器
看到的现象 先检查 提交工单时附上
连接超时 实例是否已交付;地址、端口是否正确;本地网络或防火墙是否允许出站连接。换一条网络对照测试。 节点、机器编号、连接方式、错误发生时间与时区。
认证失败 用户名是否准确;是否用错凭据;是否已修改密码。不要在日志或截图里公开密码。 完整错误文字、所用客户端与认证方式,不附密码或私钥。
能 SSH,桌面黑屏 退出并重连图形会话;检查客户端是否兼容。先不要结束正在运行的构建或测试任务。 客户端版本、黑屏截图、SSH 是否正常,以及最近做过的系统设置变更。
主机指纹变化 是否有已确认的换机或系统重置记录。未确认前不要直接删除本地指纹记录。 原指纹与新指纹、机器编号、最近的交付通知。
首日准备

先用约 4 分钟,把开工基础检查一遍

以下是环境已交付、仓库体积较小且网络正常时的操作估计,不包含大型工程下载、Xcode 安装或依赖编译。先检查,再执行;不靠跳过安全设置换速度。

  1. 01

    修改密码与检查防火墙

    约 1 分钟

    修改初始密码,保存凭据。启用或核对 macOS 防火墙规则,并确认允许你正在使用的远程连接服务;不要未验证连接就一次性关闭所有入口。

  2. 02

    检查 Xcode 与命令行工具

    约 2 分钟

    在图形界面检查 Xcode 版本,再执行 xcode-select -p 和 xcodebuild -version。项目要求特定版本时,先切换到对应工具链,再运行构建。

  3. 03

    拉取仓库与跑通小任务

    约 1 分钟

    配置最小权限的仓库访问凭据,拉取代码。先运行一个小范围构建或测试,确认依赖、路径和写入权限,再启动完整流水线。

检查完成的标准:你能重新登录,工具链版本符合项目要求,代码可读取,构建输出目录可写。任一项未通过,先停在该步骤处理。

迁移与 CI

先搬数据,再搬工具链,最后接任务

分三段迁移,错误更容易定位。不要把本地缓存、旧架构的二进制依赖和正在使用的签名凭据一起整盘搬入。你的那台可以保留稳定的开发环境,但任务权限仍需要由你配置。

01 / DATA

数据

用 rsync 或外接云盘迁移工程与资源。先看目标磁盘剩余空间,再按工程、素材和归档分批复制。能重新生成的构建产物与缓存不必首批迁移。

rsync 首次执行建议加 --dry-run 预览;留意源路径末尾的斜杠会影响复制目录层级。未核对目标内容前,不使用删除目标文件的选项。

通过标准:工程目录结构完整,关键资源可读,文件数量或校验结果符合预期。

02 / TOOLS

工具链

核对 Homebrew、Xcode、SDK 与项目依赖版本。Apple Silicon 的 Homebrew 常见路径为 /opt/homebrew,不要照搬本地机器的绝对路径。

使用项目的锁文件重建依赖。签名证书、对应私钥与描述文件分开核验;有图形界面可用,不等于无界面的 CI 进程已有签名权限。

通过标准:版本命令正常,本地式构建通过,证书与描述文件匹配当前项目。

03 / CI

CI 接入

注册 GitHub Actions 或 GitLab Runner 自托管执行器。使用专门的系统用户和最小权限令牌,将执行器标签与项目任务准确对应。

先跑只读取代码、不签名的验证任务,再接测试和发布。检查执行器进程的 PATH、工作目录与钥匙串访问权限;不要只在交互式终端里验证。

通过标准:任务能被领取,日志完整,重启执行器后仍能按预期连接。

执行器能访问哪些仓库,就能接触哪些代码。不要让来源不可信的任务与发布签名共用同一执行环境;多人协作也不代表应当共用同一个系统账户。

Xcode 与签名

证书在机器上,权限也要到进程里

签名错误先看证书、私钥、描述文件与进程权限四项。不要反复导入同一份文件,也不要把私钥放进代码仓库或工单附件。

导入证书后,为什么仍找不到签名身份?

先在钥匙串访问中确认:证书下面是否有对应私钥。只有证书文件而没有私钥,不能完成签名。若使用包含私钥的导出文件,核对导出密码与导入目标钥匙串,再检查证书有效期。

随后执行 security find-identity -v -p codesigning 查看当前用户可用的签名身份。命令结果与图形界面不一致时,优先核对运行用户与钥匙串搜索列表,而不是马上更换机型。

证书可用,构建仍提示描述文件不匹配?

核对项目的 Bundle Identifier、团队标识、构建类型与描述文件有效期。开发测试与发布使用的描述文件可能不同;涉及设备测试时,也要确认目标设备已包含在对应配置中。

先选定一个明确的构建配置验证。多 Target 工程逐个检查签名设置,避免主应用与扩展使用了不同的团队或过期文件。

终端能签名,为什么 CI 里失败?

CI 可能以另一个用户、不同的环境变量或无界面会话运行。检查它实际使用的钥匙串是否已解锁,是否包含签名身份,以及签名工具是否被允许访问私钥。

将必要凭据放在 CI 的受保护秘密配置中,不要写进脚本正文。先以执行器用户跑一次最小签名测试,记录失败阶段;工单只提供脱敏错误,不提供钥匙串密码、导出密码或私钥。

多人使用一台物理节点,怎样隔离权限?

为每位成员建立独立系统用户,按职责分配目录与钥匙串权限;自动化任务使用独立执行器用户。交接时明确谁正在使用图形会话,避免在他人构建期间切换工具链或清理公共目录。

这些措施减少误操作,但同机用户仍共用这台机器的 CPU、内存与磁盘。需要强隔离的项目、互不信任的任务或稳定并行发布,应分别保留节点。

性能与磁盘

先找瓶颈,再决定加什么

编译慢不一定是芯片问题。先在活动监视器看内存压力与 CPU,再检查磁盘空间、依赖下载和同时运行的任务数量。用同一个工程与相同构建配置做对照。

模拟器与构建缓存占满磁盘,先清哪里?

先执行 df -h 查看剩余空间,在 Xcode 中检查不再使用的模拟器运行时和构建归档。DerivedData 可重新生成,但清理后下一次构建需要重建缓存;正在使用的工程先暂停任务再清理。

可用 xcrun simctl list devices 核对设备;确认不再需要后,使用 xcrun simctl delete unavailable 清理不可用设备。模拟器内测试数据可能随设备删除而丢失,重要数据先导出。

什么时候考虑 +1TB SSD 或 +2TB SSD?

工程、多个模拟器运行时、容器镜像和素材需要长期保留,且清理可再生缓存后仍持续逼近磁盘容量时,再考虑扩展。+1TB SSD 为 $2.2/天,+2TB SSD 为 $4.4/天;其他周期价格在下单配置中核对。

加磁盘解决容量问题,不会替代更大的内存。多任务同时运行、内存压力长期偏高时,应先减少并发,或评估更适合的档位。

构建与推理任务,三档怎样判断?

Hold 16 是 M4、16GB 内存、256GB SSD,适合轻量构建与单项目 CI。Hold 24 是 M4、24GB 内存、512GB SSD,为日常 Xcode 开发、多模拟器和 UI 测试留出空间。

Hold Pro 64 是 M4 Pro、64GB 内存、2TB SSD,适合大型工程与 MLX 实验。模型能否运行仍取决于模型体积、量化方式和上下文需求,不以机型名代替实测。

Thunderbolt 5 并联适合什么任务?

适合已经有多台节点、且软件工作流支持跨机协同的场景。该附加项为 $1.5/天/台;配置前说明参与节点数、数据交换方式和应用要求,由支持协助确认适用条件。

并联不会自动把多台机器变成一台更大内存的 Mac,也不会自动分拆普通编译任务。先证明应用支持协同,再决定是否配置。

计费与续期

续费之前,先核对订单与周期

支持按天、周、月、季租用,全部以美元结算。订单、到期时间、附加项与支付状态以控制台记录为准。付款后不要只凭客户端提示判断订单已经续期。

在哪里确认到期时间与续费状态?

登录控制台查看对应订阅的到期时间、账单和续费入口,同时留意账户邮箱的到期提醒。检查邮箱是否可正常收信;具体提醒时间以实际通知为准,不依赖一次提醒安排最后一刻续费。

完成支付后,回到原订阅核对新的到期时间。若账单已支付而订阅时间未更新,提交账单编号与支付记录,请勿重复支付同一笔账单。

续费后,连接信息会不会变化?

同一实例正常续期时,先沿用实例详情里的当前连接信息。续费不等于系统重置;若发生换机、重建或其他交付变更,以控制台新的连接信息和服务通知为准。

如果已停租并进入回收流程,不要把续费当作数据恢复手段。到期前导出工程、证书备份与不可再生资源,回收后的磁盘擦除不能用重新下单撤销。

支持哪些付款方式?

仅支持 USDT-TRC20 与 Visa / Mastercard / Amex(经 Stripe),全部以美元(USD)结算。实际可用网关以后端接口返回为准。

使用 USDT-TRC20 时,逐项核对支付页面的网络、地址和金额;使用银行卡时,按网关要求完成验证。查询支付问题可提供交易哈希或账单编号,不提供完整卡号、安全码或钱包私钥。

需要升档或调整附加磁盘,直接下新单吗?

先记录当前实例编号、希望调整的配置和任务可暂停的时间,再在控制台提交工单。是否需要迁移、能否保留原连接信息,以及生效时间,应在执行前确认。

附加磁盘涉及数据路径,退订前先迁出内容并检查应用配置。不要假设变更会即时完成、自动保留所有数据或自动产生退款;具体处理以订单规则与确认结果为准。

仍未解决?把问题交接清楚

已有实例的问题,登录控制台提交工单。写明机器编号、节点、错误发生时间与时区、最近一次正常使用时间,以及已经尝试的步骤。附脱敏日志,比只写“连不上”更容易定位。

回复进度在控制台工单中查看,响应时间取决于问题性质与排查范围;本页不承诺固定分钟数。售前、团队配置或无法登录的咨询,请联系 support@vpshold.com。