- Xcode for Windows: Develop iOS Apps on PC
- Xcode for Windows: What & Why
- Rent a Mac in the Cloud
- Learn how to code iOS apps
- How to develop iOS apps on Windows
- Develop iOS apps on Windows
- Redirect iOS devices to VM and cloud platforms
- iOS Development On Windows – 7 Options
- The iPhone Development On Windows Options
- iPhone Development On Windows Now A Real Possibility
Xcode for Windows: Develop iOS Apps on PC
Written by Reinder de Vries on February 28 2020 in App Development
How can you run Xcode on Windows and develop iOS apps with a Windows PC? The short answer is: you can’t! You’ve got a few alternatives to get around that, however. In this tutorial, we’ll discuss how you can install Xcode on Windows to build iOS apps.
Here’s what we’ll get into:
- Rent a Mac in the cloud (starting at $20/mo)
- Run and compile Swift directly on Windows/Linux
- Learning to code with a Swift Sandbox
- Build your own “Hackintosh” by installing macOS on a PC
- Run Xcode on Windows by installing macOS on a virtual machine
- Develop iOS apps on Windows with cross-platform tools
- Get your hands on a second-hand Mac (starting at $300)
Xcode for Windows: What & Why
Xcode contains everything you need to build iOS apps, and it only runs on macOS!
That’s when the problems start. You want to make an iOS app with your Windows PC, but you can’t buy a PC or laptop with macOS pre-installed on it. Unlike Windows, Apple doesn’t license its operating system to other computer manufacturers. You can only use macOS on a Mac.
In fact, when you obtain a license to use macOS, which happens when you purchase a Mac computer, you have to agree to only run the operating system on Apple hardware. This effectively limits you to only develop apps on a Mac.
“It’s more fun to be a pirate than to join the navy.”
— Steve Jobs (1983)
But… it’s more fun to be a pirate, than to join the navy, right? Let’s discuss a few alternatives that’ll let you run Xcode on Windows and develop iOS apps on a Windows PC!
Rent a Mac in the Cloud
An even easier way to get your hands on macOS, albeit more expensive, is to rent a Mac “in the Cloud”. You can work with Xcode on Windows with this approach, because you’re essentially connected to a Mac that’s elsewhere.
Here’s how that works:
- Someone connects a bunch of Mac’s to the internet
- You sign in on one of those Macs via a Remote Desktop Connection (RDP)
- Done! You can use this Mac from Windows/Linux and build iOS apps
Services like MacinCloud and MacStadium offer affordable rent-a-Mac products, usually paid on a monthly basis. Prices typically start at $20/month and you can choose from several hardware options, including Mac Mini and Mac Pro.
Starting at | Type | |
---|---|---|
MacinCloud | $20/month | Dedicated, Virtual, Server |
MacStadium | $79/month | Dedicated, Enterprise |
virtualmacosx.com | $9.75/month | Shared (timesharing) |
Mac Cloud | $49/month | Virtual |
Flow | Premium | Dedicated, Enterprise |
HostMyApple | $25/month | Virtual, Dedicated |
You connect to those cloud-based Macs via a Remote Desktop Connection (RDP). Windows includes a stock Remote Desktop Client you can use, and so do most Linux operating systems. Once you’re logged on, you can launch Xcode, and start building your iOS app. That way you’re effectively running Xcode on your Windows PC!
Cloud-based Macs usually come in 3 flavours:
- A dedicated Mac, which means you get access to a physical Mac located in a data center, as if you bought a Mac in the Apple Store and put it on your desk.
- A virtual Mac, which means you get access to a virtual Mac in a data center, much like the VirtualBox solution mentioned earlier. Your Mac won’t run on Apple hardware, but it will run macOS.
- A Mac Build Server, which is a specialized kind of Mac that can be used to compile iOS apps. You’ll create those apps on your Mac, and then instruct the Build Server to compile the app for you.
A dedicated Mac is the most convenient, and the most powerful option. A virtual Mac is OK too, but it typically does not perform as well as a physical Mac computer.
Running Xcode via a Mac in the cloud has a drawback: you can’t easily connect your iPhone to Xcode via USB! With Xcode on your local Mac you can run and debug your app on your own iPhone, via the USB/Lightning cable. This obviously won’t work when your Mac is in the cloud…
Don’t worry! There are plenty of solutions for that:
- A simple approach is to run your app on iPhone Simulator, right from within Xcode. You can launch iPhone Simulator in Xcode, and debug your app with it. This is perfect for the development phase of your project.
- An alternative solution are tools like Flexihub, NoMachine and USB Network Gate. They only work with dedicated Mac hardware, and you need to have a dedicated IP address.
- Install your iOS app on your iPhone via TestFlight, and debug it with a tool like Bugsnag. You can monitor and debug live crashes in your app.
An interesting use case for renting a Mac in the cloud comes from the latest developments in Apple’s hardware. Many designers, developers and desktop-publishers have voiced their concerns over Apple hardware lagging behind, offering low-spec computers for a fairly high price.
If you don’t want to take your $3.000 MacBook Pro with you in a coffee shop, or on your next trip to Thailand, why not purchase a low-end Windows or Linux laptop, and connect to your Mac in the cloud? You can either host it at home yourself, co-locate it in a data center, or rent a dedicated cloud-based Mac.
Do you want to learn how to code iOS apps, but don’t want to invest money in a Mac? Rent a Mac in the cloud for the duration of the iOS development course you’re taking! It’s a great way to bootstrap learning iOS development, and you can always buy your own Mac later.
Learn how to code iOS apps
Get started with Xcode and Swift
Ready to get started with iOS development? Learn how to code iOS apps with Xcode and Swift with our immersive iOS development course. Works both on Mac and PC!
How to develop iOS apps on Windows
Is it possible to create apps for iOS devices on a Windows PC? How to develop iOS apps on Windows is, probably, one of the most common questions asked by those who want to develop applications for Apple platforms but have no Mac at their disposal. In this article, we’ll tell you about the simple solution that will help you with iOS development on Windows and write apps for iPhone/iPad without using a Mac.
Develop iOS apps on Windows
If you are going to build iOS apps on Windows, you should know that macOS is the only platform able to work with the iOS SDK. That means Xcode, the Integrated Development Environment (IDE) that contains everything you need for building and publishing iOS applications, will run only on this platform.
As long as you don’t have a Mac but still need to use macOS to write iOS apps, virtualization software is the simplest solution. Installed on your Windows PC, a virtual machine (VirtualBox, VMware, etc.) will provide you with the access to macOS, this way making it possible for you to develop iOS apps on Windows.
Here’s what you‘ll need to do to achieve this:
- Install a virtualization app (e.g. VirtualBox) and create a virtual machine on your local computer.
- Install and set up a macOS in your VM.
- Install XCode on macOS.
Never forget when configuring a macOS to enter a VALID Apple ID. A valid Apple Account is required for your future Xcode download.
Select the desired outcome and settings in your “System Preferences” toward the end of your macOS configuration.
After that, installing XCode is simple:
- Find the Apple Store application icon in the “Dock” and click it.
- Once the app starts, type “Xcode” into the search field at the top-right corner
- Click the “Install” button below the “Xcode” icon
Note: users must provide valid Apple IDs if they didn’t during macOS configuration. Even if you did, re-enter the Apple ID anyway.
After macOS and Xcode installation is complete, coding and iOS Simulator capabilities are available. Allowing you to test apps with the same efficiency you would expect from a real Mac computer.
Lastly, remember using macOS on anything other than official Apple hardware is in violation of Apple’s EULA.
Once macOS and XCode are installed, you can start coding and using the iOS Simulator to test the apps as if you were using a real Mac machine.
Also, for convenience, you need to plan the iOS app development in detail.
Redirect iOS devices to VM and cloud platforms
Despite its multiple advantages, running a macOS as a guest operating system may have one major disadvantage. As is known, it’s not an easy matter to access local peripherals from a virtual machine.
iOS Development On Windows – 7 Options
By Johann
Post date
Some time ago I decided to list a couple of options available for iOS development on Windows. Now, months later this is still something that has been brought up recently. So I have decided to expand the list, and include some of the other solutions that have cropped up since the original posting, and some upcoming that look interesting. Please note, that there is no official solution for developing for the iPhone SDK on Windows (and it’s doubtful there ever will be).
At this point you will need to compile your app on the official iPhone SDK running on Mac OS X if your goal is to get your app in to Apple’s iPhone and iPad app stores, use Flash’s iPhone packager, the Airplay SDK, or send someone else your code for compilation. Now, I know there is the obvious “hackintosh” solution, but I won’t get into that, not only is it possibly illegal, but I’ve seen someone try it… and it was a major continuous hassle — every update of the OS and SDK cost them valuable hours, when they could just get a sub-$700 Mac Mini and avoid all hassles.
That being said there are ways to develop iOS apps on windows. Let me repeat that there is no real iOS SDK Windows edition — and most certainly not any official options despite what the marketing material of some vendors might tell you. If you see a vendor posting false information suggesting their solution is an official Windows iPhone developer SDK then I suggest staying away.
Disclaimer: Everything on this page is subject to change. iOS development is in constant evolution. This page has been updated many times, but there is no guarantee that things will be 100% up to date at the time you read it. Deal with it.
I am limiting those shown here to those from which apps already available in the store have been created with, and some that appear to be exceptionally well done.
These Windows alternatives include game engines, html/javascript solutions for hybrid app development, and general iPhone/iPad app creators.
The iPhone Development On Windows Options
1) Flash CS5.5 – Has become a very good solution with the Flash iPhone Packager. The packager for iOS allows you to compile apps on the windows platform. If you’ve been using flash you can rejoice in Apple’s latest policy, it performs ok, but don’t expect highest performance games, and Papervision to run in here. No mac required. Something that has been asked is if it is possible to create flash iOS apps in an evironment other than the official Adobe one.. absolutely, you can compile with the Flex compiler, and package your apps for iPhone as long as you follow the asme guidelines.
2) Airplay SDK – The airplay SDK allows you to create games, and sign your app on Windows PC’s. A great solution for both 2D and 3D games and apps because of the free offer made to indie developers.
Both these solutions can compile to code that is native to the iPhone right on your windows PC and many apps available in the app store have been created using them.
3) Unity 3D – Game development engine and editor that utilizes Boo and C# and the editor works on both Windows and Mac.
4) Stonetrip S3D – Game develop engine and editor utilizing LUA, the editor runs within Windows.
These game engines allow you to develop your apps on Windows, but you’ll need a Mac to test/compile
5) Appcelerator Titanium – This is a good solution, and has a very popular and vibrant community. Apps are limited in performance because while they can be compiled as native apps and sent into the app store they are html/javascript based.
6) Genuitec MobiOne – This is an interface designer that uses the Phonegap framework to deliver native functionality. It only runs on windows. HTML/Javascript based.
These solutions allow you to create apps using web technologies (HTML/CSS/Javascript) and then run them through an Objective-C framework that responds to actions within a UIWebView, thus allowing you to access native functionality on the iPhone. These frameworks are free. You will need a mac for native testing/compilation.
7) Dragonfire SDK – An interesting option that allows you to develop apps using their SDK on windows. Then you send them your uncompiled source which they compile and you download the compiled iOS application file. You upload your code for compiliation on their server (as long as you have the Ultimate edition). I like the syntax and it’s pretty popular so I’ll mention it. It is a good wrapper with a nice simulator on Windows.
There are a couple of other solutions that were either in testing, required payment without any form of trial (or in some cases even screenshots), or just aren’t out yet many of them seemingly lesser versions of the Dragonfire SDK that enable iPhone development on Windows by compiling your source code for you.. Airplay SDK is probably the most advanced “iOS SDK on Windows” available free at this stage.
iPhone Development On Windows Now A Real Possibility
My suggestion is that you are really set on windows iPhone development and rdon’t even want to buy a Mac Mini is that you create your app using an html/javascript solution such as Phonegap/Appcelerator or the Airplay SDK and then find someone with a Mac and hit them up to do the submission for you. Airplay SDK is the only free solution for creating high performance iPhone/iPad games using Windows. You can use the Flash builder, but there are currently some performance limitations – a new edition is coming out soon.
Update: Airplay SDK has unfortunately been renamed Marmalade SDK and no longer provides a free solution for indy developers.
Best of luck, if you know of any other alternatives that enable iOS app development on Windows or if any of the info above has changed then please mention it below in the comments.