This article is intended for educational purposes only, to demonstrate that it’s possible to test out iOS applications with Xcode without having to buy a Mac. However, you should consider testing on a real MacOS device before publishing your application on the App Store.

All the Steps to Get Your First "Mac"

OK, now let’s discover how a "Mac" is made.


You’ll need a computer running Windows or Linux (not tested) and an iOS device (iPad or iPhone). Also required:

  1. VMWare or VirtualBox
  2. USB 2.0, not 3.0
  3. An Apple Developer account
  4. Xcode 10.1 (no other versions)

VMWare or VirtualBox?

After having tested various MacOS versions on different virtual machine systems like VMWare and VirtualBox, I found that the quickest solution was VMWare Player 15 with High Sierra 10.13.

Newer versions of MacOS drastically reduce the performance of the system, probably due to newer graphic drivers that aren’t 100% compatible with VM software.

First steps

The first step is to install your VM:

vmware player

Switch USB

After your VM is fully connected and active, you’ll want to try out the connection to a real-world iOS device.

On VMWare, you have to switch the USB mode from 3.0 to 2.0 to let the "Mac" see your Apple device.

wmware settings screen

Once you have that handled, reboot the VM and connect the device while opening iTunes inside the VM. After a few seconds, you should see the device pairing to it.

Apple Developer account

Next you’ll need to prepare your Apple Developer account. Don’t worry, it’s free while you’re testing applications on your local device. You only have to pay to publish your app on the App Store.

  1. Register at developer.apple.com
  2. Login and proceed to developer.apple.com/download/more/
  3. Search for Xcode 10.1 and download this XCode zip file, around 5.6GB
  4. Unzip the file and move the App file to the Applications folder.

Xcode version must be 10.1

You should never download any version of Xcode except 10.1.

This is because newer versions aren’t supported on High Sierra 10.13.6. Some people have been able to use the newest version, but it would require modifying some app files and would just make it harder.

If you get the 10.1 version, however, you’ll be ready to code in a few minutes instead of a few hours.

Get some support

There’s a downside to using Xcode 10.1.

New iOS versions, like iOS 12 or 13, aren’t supported on it. So if you try to run your app on an iPhone with iOS 13, you’ll get a warning that it can’t install on that device.

Luckily there is a really simple fix thanks to this awesome repository on Github. Open up your terminal and type these commands:

git clone https://github.com/iGhibli/iOS-DeviceSupport

cd iOS-DeviceSupport

sudo ./deploy.py


The Magic Trick Is Complete! Your Personal MacOS Running is Inside Your Preferred OS

xcode running on vmware virtual machine

Resources and References