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:
- VMWare or VirtualBox
- USB 2.0, not 3.0
- An Apple Developer account
- Xcode 10.1 (no other versions)
VMWare or VirtualBox?
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.
The first step is to install your VM:
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.
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.
- Register at developer.apple.com
- Login and proceed to developer.apple.com/download/more/
- Search for Xcode 10.1 and download this XCode zip file, around 5.6GB
- 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