Fit your rental to your delivery schedule

From checkout to your first ipa, all in one day

Keep coding on Windows and hand the macOS build steps to a cloud Mac. Rent by the day and get access the same day you pay—no need to buy a machine for a short project.

Your Mac can be ready to use the same day. Whether you can build that day depends on your project dependencies, Xcode version and signing materials. Check the six items below, then follow the steps for your framework.

Mac Mini M4: $20.2/day. Dedicated physical machine, not a virtual machine. When your project ends, service stops at the end of your rental unless you renew.

Get your materials ready before billing starts

Before you order, get six things in place

Ready to rent now? Make sure you can access the code, have authorization for the signing materials and need to build soon. If the client has not confirmed the bundle ID or signing ownership, there may be nothing to do once the machine is running.

  • Purpose: what are you delivering?

    Decide whether you need to build, integrate or prepare for release. Record the target version, bundle ID, build method and recipient. A one-off archive and several days of integration work call for different rental periods.

  • Location: choose for your team

    Choose from four locations: Singapore, Tokyo, Seoul and Hong Kong. Start with the network used by the people who will connect most often. If you will transfer large files, consider the route those files will take too. A nearby location does not guarantee the same connection quality on every network.

  • Duration: estimate how long you’ll need it

    Choose a daily, weekly, monthly or quarterly rental. Mac Mini M4 rates are $20.2 per day, $54.6 per week, $101.1 per month and $275 per quarter. If you need it for three consecutive days or more, weekly billing costs less than paying day by day. Compare the options before paying if your schedule is not settled.

  • Payment: check the available methods

    We accept USDT-TRC20 and Visa / Mastercard / Amex via Stripe. All payments are settled in US dollars (USD). The payment gateway returned by the backend determines what is available. Check the order total and on-page instructions when you pay; do not rely on details from an earlier order.

  • Signing: you need the private key too

    Confirm developer signing authorization with the project owner, and prepare the matching certificate, private key and provisioning profile. A certificate file alone is not enough to sign. Check its validity, team ownership, bundle ID and export purpose. Transfer these materials securely; never put them in a public repository.

  • Wrap-up: assign someone to own the end date

    Make one person responsible for the rental end date. Service stops when the rental expires unless you renew, with no cancellation fee. Do not treat shutdown as a backup plan. Leave time to export and archive files, get client sign-off and make any needed changes. Renew for another period once an extension is confirmed.

Turn your schedule into an order

Choose a machine for your project’s workload

Both options are dedicated physical Mac minis. Pick a spec to suit the project, then choose a location and rental period. There is no need to rent a larger model for the occasional build.

Mac Mini M4

M4 / 16GB RAM / 256GB SSD

Good for smaller native projects, standard Flutter builds and short-term integration work. Check the combined space needed for source code, dependencies, simulators and archives rather than estimating from repository size alone.

Not intended for keeping large media libraries, several large projects and all historical archives on one machine long term.

$20.2/day · $54.6/week
$101.1/month · $275/quarter

Mac Mini M4 Pro

M4 Pro / 64GB RAM / 2TB SSD

Good for large Unity projects, builds with multiple targets and heavier dependency workloads. More memory and storage leave room for complex projects, but do not guarantee a set performance improvement for every workload.

Not the best fit for an occasional small build when most of the schedule is spent waiting for client approval.

$59.3/day · $160/week
$296.3/month · $805.9/quarter

  1. 01

    Choose your setup

    On the order page, choose a model, location and billing period. Add extra storage if needed. Review the full configuration and total before submitting. Availability is shown in real time by the portal.

  2. 02

    Pay for your order

    Follow the instructions for your selected payment gateway, then return to the order to check its status. Make sure the payment record matches the order. If the statuses do not match, keep your order number and payment receipt and submit a support ticket.

  3. 03

    Open your instance

    Your machine is provisioned the same day you pay. In the portal, open the instance details for that machine to find its connection information and end date. Do not copy an address or credentials from an old record for another machine.

Connect first, then move your project

Check the environment on your first connection

For your first session, use Remote Desktop to check the graphical interface, storage and Xcode, then use SSH to run build commands. Both connect to the same physical machine; they are not separate environments.

A computer and code on a desk, illustrating a check of the project build environment after connecting
Make sure the build environment is ready before transferring client code and signing materials. Image is illustrative.

Remote Desktop: best for first checks and archiving

Sign in to the portal, open the relevant instance details and connect using the method, address and credentials shown there. On your first connection, confirm the machine ID, then check the macOS desktop, available storage and project directory.

Remote Desktop is more convenient for changing signing settings in Xcode, viewing simulators or handling graphical prompts. Do not post connection credentials in a group chat or have multiple people modify the same build directory at once.

Start with the desktop

SSH: best for builds and keeping logs

Use an SSH client in a Windows terminal. Get the address, port, username and authentication method from the instance details. Verify the host identity on your first connection. If you see a warning that it has changed, check why before proceeding.

A successful SSH login does not mean signing is ready. Check the current user, keychain access, build-tool paths and project dependencies. Verify automation tasks in the environment of the user that will run them.

Connect automation after testing

After installing or switching Xcode, check the active version

First, check which Xcode and SDK versions the project requires. If the machine already has a compatible version, there is no need to install it again. If tools are missing, set up Xcode and its command-line tools, then complete any first-launch steps in the graphical interface.

These commands show the active developer tools path and Xcode version. Make sure the output matches the project requirements before restoring dependencies. Do not assume Xcode is ready just because it appears in the Applications folder.

Run in the cloud Mac terminal

xcode-select --print-path
xcodebuild -version

If the version or path is incorrect, switch to the installed tools at their actual location and check again. Do not copy an installation path from another machine.

Follow your framework’s workflow, including signing

Make your first build a repeatable delivery

Build from a known commit first, then add the process to your regular workflow. All three paths require you to check dependency versions, signing materials and export requirements. A successful compile alone does not mean the delivery is complete.

Native Xcode: archive, then export

  1. Check out a known commit and restore dependencies according to the project instructions. If your dependency manager generated a workspace, open that rather than the standalone project.
  2. Check the Scheme, bundle ID, version and build number. Import the authorized certificate, private key and provisioning profile, and make sure they match the current Target.
  3. Select an appropriate destination for archiving and choose Product → Archive. Check the archive in Organizer, then export the ipa for its intended use.
  4. Keep the archive, symbol files and build logs. Record which commit produced each artifact so future changes can be traced.

If signing fails, check that the certificate and provisioning profile match before clearing project caches.

Flutter: check the iOS toolchain first

Use the Flutter version specified for the project. From the project root, check the toolchain, restore dependencies and build:

flutter doctor -v
flutter pub get
flutter build ipa --release

If the project uses flavors, a custom entry point or export settings, add the required options from its existing build instructions. Do not assume the default command is the right final setup for every project.

Once the toolchain check passes, handle signing and native dependencies in the iOS project. Verify the ipa path and export result in the build output.

React Native: verify the Release workflow

  1. Install JavaScript dependencies from the lockfile and use the Node and package manager versions specified by the project.
  2. Restore native iOS dependencies, open the relevant workspace and check the Scheme and Release configuration.
  3. Check the JavaScript bundle step, native modules, environment settings and signing materials before archiving and exporting.
  4. Verify that the exported build does not depend on a development server. A working development build is not a substitute for a Release build check.

Manage environment variables and client secrets separately. Do not put production settings in logs or commit them to a repository.

Client boundaries matter more than folder names

Share one machine or use one per client?

A dedicated machine is reserved for one rental customer. It does not automatically isolate multiple projects on the same studio’s machine. If you rotate clients through one machine, keep accounts, keychains and artifact directories separate too.

One shared machine: for occasional builds

If a few small projects are not being delivered at the same time, create separate macOS user accounts for each client to keep projects, keychains and build records apart. Check the active user when switching tasks, and avoid sharing one cluttered Downloads folder.

The trade-off is that work may need to wait its turn, and someone must manage account switching. All accounts are still on the same machine, so this may not meet every client’s isolation requirements.

Check that clients approve

One machine per client: for overlapping deliveries

If several clients need builds in the same week, or a contract calls for clearer environment boundaries, rent a dedicated physical machine for each. Name machines by client and project, and keep certificates, private keys, code and archives on their respective machines.

The trade-off is a separate charge for each machine. Separate environments still need access controls and backups. Assign a renewal owner and end date to each machine.

Build in parallel, hand off separately
Wrap up the rental when delivery is done

Take your project with you before shutdown

Service stops when you do not renew. Your machine should not be the only place your project is stored. Export and verify your files before deciding whether to end or extend the rental.

  1. 01

    Export and verify

    Download the ipa, archive, symbol files, build logs and any necessary configuration. Securely export signing materials you are authorized to keep. Verify the files in local or client-approved storage, and store private keys separately from passwords.

  2. 02

    Remove access

    Remove repository credentials, temporary keys and automation links you no longer need, and confirm that build jobs will not be sent to this machine. The system is cleaned before it is reassigned, but you must back up your files and revoke access beforehand.

  3. 03

    Confirm whether to renew

    If the project is complete, check the end date in the portal and do not renew. If the project is extended, renew for a suitable period from the instance’s subscription or order, then check the updated end date after payment. For help with reinstallation or machine status, submit a support ticket from the portal with the machine ID and details.

What to include if you’re stuck on connection, signing or payment

In your support ticket, include the machine ID, location, time of the issue, steps you took and the full error text. Make sure screenshots do not show passwords or private keys. If you have not rented a machine yet, email support@vmssd.com with your project timeline and framework. For an existing instance, submit your request through the portal so it can be matched to your order.

Get your materials ready before billing starts

Choose a model, location and rental period, then get started the same day you pay. Produce a repeatable build first, then decide how long to rent based on your project schedule.