Question: Q: Using Xcode for Visual Studio C++ assignments. I am in a C++ programming class at my school. My professor wants us to use Visual Studio for all our console applications. I have a Mac at home and would like to use Xcode. I would like to know if there is a way when I submit my assignment, my professor can open it using Visual Studio. Microsoft on Wednesday officially launched Visual Studio for Mac, bringing the development suite out of a months-long preview period. The finished Studio release can be used to create apps for macOS, iOS, tvOS, watchOS and Android, as well as Web and cloud apps, Microsoft said.
I often see questions about asking how to get XCode for Windows, and really what people want is to develop iOS apps directly on a windows platform. All of us at ItsMonkie Solutions have asked ourselves this question when we started app development for Android, iOS and Windows, and we were really looking for a way to develop iOS apps on the Windows platform.
Having given this a try I have to say the whole process of making XCode work in a windows environment is very uncomfortable, and not really fulfilling. This is really no fault of Apple – they designed XCode to be used only on Macs and in that space I’m sure its great. But as a Windows user primarily I want to be able to develop my apps to run on the iPhone and iPad – its a fantastic device, with a huge market share!
Is it even possible
In short – of course it is! But one thing that I should say is that even if you successfully get XCode running on your Windows environment, you will not be able to build and deploy an app to the Apple app store. Even if its technically possible, Apple’s terms and conditions strictly prohibit this. So if you want to develop an iPhone or iPad app you’re going to need a Mac, whether its be a Mac mini or an iMac, you going to need to compile and deploy your app directly from an Apple device.
Whats Involved in Running XCode for Windows?
Running XCode on Windows basically requires you to simulate an instance of Mac OS X on your windows machine – this means virtualisation. These days technologies like VMWare and VirtualBox make creating a virtual machine fairly easy…once you know how! In order to run a virtual machine you’ll need to have a decent PC with a reasonable level of resources as the machine will be effectively running 2 operating systems – Windows and Mac OS X. You’ll also need a copy of the Mac OS X installation media which you can purchase from the Apple store.
Once you have Mac OS X running on your virtual machine installing XCode should be pretty straight forward – you can pretty much just open the app store and install it directly from there.
For a detailed guide on getting XCode running on windows see this article from the udemy blog about emulating Mac OS X on a windows machine.
In order to be able to compile and deploy your apps to the app store you’re still going to need to own a Mac (or have once available). A compromise is to purchase a low end Mac mini – you can then do all the heavy lifting on your Windows machine, and just copy the code to your Mac mini when you want to compile and deploy it to the app store.
To me I find the idea of the whole process a bit cumbersome, especially when I have something like Xamarin available.
Using Xamarin to Build iOS Apps
Let me say first off that Xamarin in no way helps with the whole needing a Mac issue – theres no way arround that, its in the app store terms and conditions. It does however allow me to develop on my pc and leverage a Mac as a build server to build and iPhone/iPad simulator. The general workflow goes something like this –
You build your apps using C# and Visual Studio (or Xamarin Studio)
When you build and instruct Visual Studio to deploy the solution, the Xamarin plug-in communicates with the Mac build server to build the code, and deploy it to the correct simulator
The whole process is almost seamless and works incredibly well. This review of the whole process by Peter Bright covers the process in more detail.
X Code
For some developing in C# and using Visual Studio is a negative, but as we focus on developing cross platform apps (i.e. apps with a share code base between platforms), Xamarin definitely wins out. Whilst this definitely isn’t XCode for Windows it is a viable, well supported and workable solution.
Wrapping up
Visual Studio For Mac Os
We at ItsMonkie Solutions have approached app development from numerous angles such as
Purely native using Eclipse for Android apps (and Android Studio), Visual Studio for Windows Apps and XCode for iOS.
Hybrid apps using PhoneGap and Cordova that leverage Javascript and HTML5 on the devices browser
Developing native apps using a cross platform framework i.e. Xamarin
Visual Studio For Mac Download
In the end we have found that Xamarin provides the best combination of native performance, code reuse and general development workflow. It enables us to get to more platforms, more quickly with a more maintable code base.
Microsoft Visual Studio For Mac
What are your thoughts about running XCode for Windows? Is it worth the effort or is adopting a cross platform framework your preference or would you just rather developer straight on your Mac?