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!
XCode seems quite spartan compared to Visual Studio. VS will give you many panes left/right/bottom and a myriad of buttons to do things but xcode just gives you that pane on the left, and you will likely benefit from learning the cmd-1,2,3 etc. Shortcuts to jump to the different pages of this 'notebook'. Just as you use Xcode to build iOS apps, you use Visual Studio to build Windows Store apps. This video gives a quick comparison of the two. For more resources to help iOS developers get started.
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.
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
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
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.
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?
Related
If you’re targeting iOS and writing a lot of C++ code, you should consider importing your XCode projects inside Visual Studio. Visual Studio not only provides an easy way to import these projects, but also allows opening these projects back in XCode if you need to make non-C++ related edits (e.g. storyboarding, UI design).
Xcode 9 Vs Visual Studio For Mac
This article covers the high-level steps needed to import your existing iOS XCode projects into Visual Studio. You can read about other C++ project types in the guide for Bringing your C++ code to Visual Studio.
Livestream studio software for mac. *** Wirecast:|| XSplit:|| OBS Studio: *** -- LINKS -- - Wirecast Studio: - XSplit: - OBS Studio: - BeLive: *** GEAR WE USE *** -- ~ Learn the ULTIMATE Process for Editing Videos Faster (FREE DOWNLOAD): ~ -- XSplit vs OBS vs Wirecast: Best Live Streaming Software (Comparison!) -- There are a number of solid options when it comes to professional live streaming software. We recently did a direct comparison between Open Broadcaster Software Studio and Wirecast - given these are the two we get asked about most often. BUT the landscape is always changing, so in this video we look at 3 of the most popular Live Streaming software suites for Mac and PC/Windows to help you decide which is best for you.
Step 1. Install iOS support: Make sure that during VS installation, you select the “Mobile development with C++” workload. In the customization pane, make sure you select the “C++ iOS development tools” option as well.
Step 2. Install the remote Mac tools and connect from VS: Install vcremote on the Mac machine following the instructions in “Install and Configure Tools to Build iOS projects”. Then, in VS, from Tools > Options > Cross Platform > C++ > iOS, pair VS with your Mac machine
Step 3. Launch the XCode import wizard. Go to File > New > Import > Import from XCode and follow the steps of the wizard. To learn more about the wizard, read “Import a XCode project” in MSDN
Visual Studio For Mac Vs Windows
Each XCode target will create a new Visual Studio project and your iOS source code will be available for further editing, building and debugging.
Step 4 (optional). Open Visual Studio project in XCode: When you need to make non-C++ changes to your iOS projects (e.g. storyboard editing), Visual Studio can automatically open your projects inside XCode running on your Mac. Once you’re done making changes, you can ask VS to copy these changes back to the Windows machine. Follow this link to learn more about syncing changes between XCode and Visual Studio.
What’s next
To learn more about the iOS support in Visual Studio read “Developing cross-platform iOS applications using Visual Studio”.
Xcode Visual Studio 2017
If you’re new to Visual Studio, learn more by reading the Getting Started with Visual Studio for C and C++ Developers topic and the rest of the posts in this Getting Started series aimed at C++ users that are new to Visual Studio. Download Visual Studio 2017 today, try it out and share your feedback.