Friday, May 18, 2018

Xcode On Windows


Xcode On Windows (Build iOS Apps on PC)
You can build an app for iOS even if you’re on a PC running Windows 10.
I wish I had known this when I first started because I delayed myself for 3 years before biting the bullet and buying a Mac.
Had I known about running Xcode on Windows or about the solutions below, I might’ve started building iPhone apps much earlier!
Rent a Mac
Before committing to buying a new Mac, you can actually “rent” one for development. You’ll remotely access the Mac and Xcode through your PC.
It’ll be like having the Mac desktop in a window on your Windows Desktop.
The really nice thing about this option is that the cost is really low and it’s the fastest option to get up and running.
If you decide that app development isn’t for you, you just cancel your plan. 
There are a few companies out there that provide this service:
1. VirtualMacOSX
Another service where you can rent a Mac with Xcode for development. Unfortunately I haven’t listened too much about this one so I can’t speak very much about it.

2. MacInCloud
This is the most well-known service out. You will not have to install Xcode because it comes pre-installed on Mac. You can also do pay-as-you-go so it’s a pretty low commitment. Some people complain that it’s slow but you can try it out for yourself since it’s only about a buck an hour!
3. XcodeClub
XcodeClub is run by Daniel who is a passionate developer himself. From the reviews I see, the service is fast and friendly. The pricing is less flexible than MacInCloud and you’ll have to commit to at least a month.
Virtualize MacOS
If you’re a little more technically savvy, you can use virtualization software and run a “virtual Mac” on your PC.
The services above are essentially doing the same thing on their servers and then they charge you a fee to access the virtual machine.
By setting it up yourself on your own PC, you essentially cut the middle man out of the equation.
Unfortunately it does take a little bit of technical know-how to get this up and running.
The two most popular pieces of software to do virtualization are VirtualBox and VMWare Workstation.
You can download them below and then use Google to find a guide on how to install the latest MacOS (High Sierra) with either VirtualBox or VMWare Workstation.
After that, spin up your new virtual Mac and download Xcode. This is as close as you’ll get to running actual Xcode on Windows!
4. VirtualBox
VirtualBox is open source software which means that it’s free. That probably explains why it’s a lot more popular than VMWare Workstation when it comes to running MacOS on your Windows machine!
5. VMWare Workstation
Unfortunately you’ll have to pay for this piece of software and at the time of this writing, a license costs about half the price of a brand new Mac Mini which is perfectly suitable for iOS app development. I would recommend you try VirtualBox first or try to buy a used Mac Mini.
Build a “Hackintosh”
You can also build a “Hackintosh” which is a PC that has been customized to run MacOS.
This requires the most effort out of all the options presented so far but it can work for someone who wants a separate physical computer running MacOS.
6. Hackintosh.com
A great resource for all things Hackintosh. The first How-To section contains links to a number of great tutorials for building your own Hackintosh and installing High Sierra.
I love looking for Reddit communities on anything that I’m interested in because there are always interesting conversations happening. Reddit provides a way to have a dialogue with like minded individuals, to get help and to help others!
I included this link because it contains up to date news and articles for Hackintosh builds.
Third Party Solutions
Lastly, there are many third party solutions that you can use to do iOS development on Windows.
You won’t be using Xcode in these solutions but you’ll be able to generate an app that can run on iOS devices. 
Check out these great Xcode alternatives:
9. Appcelerator
Build native mobile apps using JavaScript.
10. PhoneGap
Build hybrid cross-platform mobile apps using HTML, CSS and JavaScript.
11. React Native
Use JavaScript to build native mobile apps.
12. Xamarin
Use C# to build a mobile app that you can deploy natively to Android, iOS and Windows.