Cloud Mac Support

Pinpoint the issue, then share steps to reproduce it

For connection issues, start with device status and credentials. For build issues, check Xcode, dependencies, and signing. CDNMac provides dedicated physical Macs, not virtual machines. Your project code, developer accounts, and signing assets remain your responsibility.

For existing orders, include your order ID, selected node, timestamps, and redacted logs. Device status and available actions are based on the latest information shown in the console.

6 support paths For connections, builds, signing, networks, billing, and nodes
6 key details Get your ticket context ready
Available year-round Nodes run year-round, 365 days a year
Issue handoff From symptoms to reproducible steps
Complete details help us start investigating
01

Confirm the scope

Note whether the issue affects one device, one repository, one build, or every connection method.

Device status
Check the latest status in the console
Selected node
Note the region listed for your order
02

Narrow down the issue

Test the network, system access, toolchain, project dependencies, and signing separately. Avoid changing multiple settings at once.

Minimal reproduction
Keep the steps consistent and reproducible
Timeline
Note when it first and most recently occurred
03

Share the evidence we need

Submit redacted logs, the expected result, and steps already tried. Never share private keys, tokens, certificate passwords, or full payment details.

Log details
Include commands, stages, and timestamps
Expected result
Describe what should happen
Choose an issue type

Six support paths, each with the details we need

Choose the category that best matches the main symptom, then gather the relevant details. Keep each request focused on one primary issue; mention related symptoms in your reproduction steps.

Can't connect

Check whether the device is unreachable or your credentials are invalid

Share the device status in the console, the exact SSH or VNC error, your local network setup, when the issue first occurred, and whether only one access method is affected.

Include: node, source network, error, timestamp
Build failure

Find the build stage where the failure occurs

Include your Xcode and Command Line Tools versions, lockfile, failing command, target scheme, available disk space, and the first actionable error in the log.

Include: versions, command, stage, redacted logs
Signing issue

Check the certificate, provisioning profile, and target settings

Share the redacted signing error, bundle identifier, target environment, and certificate status. Never share certificate passwords, private keys, or usable tokens.

Include: target, identifier, status, error
Network issue

Test round-trip latency separately from download performance

Include your ISP, network type, destination node, median from consecutive samples, and whether repository pulls or dependency downloads are also affected.

Include: ISP, network type, samples, destination
Billing question

Check the base configuration and add-ons against your order

Include your order ID, rental period, base configuration, and the names of any SSD or Thunderbolt 5 daisy-chaining add-ons. Do not include full payment details in your ticket.

Include: order, period, configuration, add-ons
Node migration

Explain why you need to move and what data needs to be transferred

Note your current node, desired connection region, directories and build artifacts to keep, and whether you can redeploy the environment. Available options are shown in the console in real time.

Include: current node, destination, data to keep
Connection troubleshooting

Check in order to avoid mistaking a network issue for a device failure

Complete each step before moving on and note the result. Avoid changing keys, firewall settings, and your local network at the same time; otherwise, it’s hard to identify the cause.

01

Check device status

Check the order and device status in the console, then confirm the current node and device ID. If the status is changing, wait for a stable result before testing the connection.

02

Verify your access credentials

Use the system username, host address, and latest credentials for the current device. Don’t use connection details from another order.

03

Test SSH connectivity

From a trusted network, check whether the host and port are reachable, then verify key file permissions and authentication errors. Save timestamped errors, but never share private key contents.

04

Test the VNC session

If SSH works but the graphical session doesn’t, note the VNC client, connection stage, and screen status separately. This helps distinguish a session issue from a basic network problem.

05

Check your local firewall

Check whether your corporate network, VPN, egress rules, or local firewall block the destination port. Retest on another trusted network to see whether the issue is on your local connection.

A single ping only shows network round-trip time at that moment. It doesn’t indicate VNC responsiveness, download speed, or total build time. Retest with repeated samples and real workloads.

Build troubleshooting

Start with toolchain versions and find the first actionable error

Build logs often contain cascading errors. Find the first actionable error that stopped the process, then check the related tool, dependency, signing, or disk requirements.

01

Xcode and target SDK

Record the full Xcode version, target platform, scheme, configuration, and tool path in use. The GUI and command line should use the same version.

02

Command Line Tools

Make sure the selected developer directory matches the expected version. After upgrading Xcode, check that command-line tools point to the right path so scripts don’t use an older one.

03

Dependencies and lockfiles

Keep the lockfile used by your project and note the dependency installation command and caching strategy. Test in a clean working directory before checking for cache corruption.

04

Certificates and provisioning profiles

Check that the status, bundle identifier, target environment, and signing settings match. Share only redacted errors—never private keys or certificate passwords.

05

Disk space and temporary directories

Check the space used by source code, dependency caches, DerivedData, archives, and exported builds. If space is low, start by clearing caches that can be rebuilt.

06

Log timestamps and failure stage

Keep the task start, first error, and task end timestamps. Note whether the failure occurred during dependency installation, compilation, archiving, signing, or export.

CI/CD setup

Register your dedicated physical Mac as a managed self-hosted runner

CDNMac M4 can run iOS builds triggered by your repository. When connecting GitHub Actions, GitLab CI, Jenkins, or another scheduler, treat the runner as a persistent build host, not a disposable container.

  • Create a separate working directory for each repository. Don’t share uncleared build caches across projects.
  • Grant tokens only the permissions required to run each job, and configure them separately for each repository.
  • Store signing materials in a controlled location. Never print keys, tokens, or certificate passwords in pipeline logs.
  • After each job, remove temporary files, derived data, and artifact copies you no longer need.
  • Assign clear runner labels to avoid sending incompatible jobs to this device.
Build job handoff RUNNER / M4
A1

Accept trusted jobs

Use the repository, branch, and runner labels to decide whether to accept a job.

Queue
B2

Install dependencies

Use the lockfile and repository-specific cache, and record cache hits.

Workspace
C3

Run the archive

Pin the Xcode path, scheme, configuration, and export options.

Archive
D4

Deliver and clean up

Copy required artifacts, clear temporary directories, and keep redacted diagnostic logs.

Artifacts
Isolation: repository Credential policy: least privilege Cleanup: after each job
Quick glossary

Eight common terms for troubleshooting

Using consistent terms in your ticket makes it easier to distinguish physical devices, access protocols, automation runners, and deliverables.

Cloud Mac
A Mac accessed remotely over a network. CDNMac provides dedicated physical Macs; each device is assigned to one order and isn’t shared with other customers.
Physical node
The region where a device is deployed and connected to the network. Node selection affects the connection route, but doesn’t determine total build time on its own.
Dedicated
One device and its access environment are assigned to each order. Computing resources aren’t split among multiple customers.
Not a virtual machine
Workloads run on physical Mac hardware, rather than on virtual instances created by partitioning a host machine.
VNC
A remote session for accessing the macOS graphical interface, useful for checking screen status or performing GUI tasks.
SSH
An encrypted connection for command-line access, scripts, and file transfers—ideal for automation and routine system tasks.
Self-hosted runner
A job runner registered with a CI system and managed by your team. It receives and runs pipeline jobs on a designated cloud Mac.
Build artifacts
Files and logs generated by compilation, archiving, or export. Copy them to storage controlled by your team and set a retention policy.
Before you open a ticket

Gather all six details before submitting in the console

A complete report makes issues easier to reproduce than a string of short messages. For sensitive fields, share only the type and status—not usable plaintext values.

01

Order ID

Provide the order ID or device ID shown in the console so we can identify the model, rental period, and device record.

02

Selected node

Name the node where your device is located; don’t just say “Asia” or “the US.” If you need to move, also tell us your desired connection region.

03

Timestamps

Include when the issue first occurred, when it most recently recurred, and when the task ended. Specify the time zone so we can match device and network records.

04

Reproduction steps

List the inputs, commands, target, and results in order. If the issue is intermittent, include how often it occurs and what triggers it.

05

Redacted logs

Keep the relevant errors and timestamps, but remove private keys, tokens, certificate passwords, personal information, and full payment details.

06

Expected result

Describe the expected status, file, or return value, and list the steps you’ve already tried that didn’t work.

What we support

What we can help with—and what your team manages

Separate device and network issues from system access, toolchain guidance, and project responsibilities to avoid making changes at the wrong layer.

Hardware and network status

We can check device status, node-side networking, order details, and management status shown in the console, then investigate further using reproducible information.

CDNMac support

System access assistance

We can help determine whether a device is reachable, whether credentials match the device, and whether SSH or VNC issues are at the network, authentication, or session layer.

CDNMac support

Build tool troubleshooting guidance

We can help review Xcode, Command Line Tools, disk space, and build stages based on your logs. Your project team remains responsible for validating dependencies and scripts.

Shared troubleshooting

Projects and developer assets

Your team is responsible for project code, developer accounts, certificates, provisioning profiles, access keys, software licenses, dependency versions, and the lawful use of its workloads.

Your team’s responsibility
Security reminders

Include credentials, signing assets, and build artifacts in your offboarding plan

A dedicated device limits resource sharing, but doesn’t replace your team’s access controls. Keep clear checklists for first-time access, ongoing use, and the end of each rental.

01

Use least-privilege access

Grant CI tokens, repository keys, and automation accounts only the permissions each task needs. Don’t let multiple projects share the same high-privilege credentials long term.

02

Rotate credentials regularly

Keep a key and token rotation log. Revoke access promptly when team members, repositories, or job boundaries change.

03

Remove expired certificates

Check certificate and provisioning profile status regularly, and remove unused copies to prevent pipelines from selecting outdated settings.

04

Export required artifacts in advance

Before your rental ends, copy source changes, build logs, archives, and required artifacts to storage controlled by your team. Check that the files are readable.

Reproduced the issue? Open a ticket with the full context

Include your order ID, node, timestamps, reproduction steps, redacted logs, and expected result. Never send plaintext keys, tokens, or certificate passwords.