If you don’t have a Mac computer, iOS development can be… challenging.
If you’re passionate about your app idea, you won’t let a computer get in your way.
Developing iOS apps on a PC is possible. I’ll show you how to do it in the iOS app development tutorial.
Here’s a rundown of the basics that you’ll need to get started.
First thing to do: secure your spot in this app business workshop
Get a decent PC that can handle the job
You don’t need to build a supercomputer, but you’ll need something with a bit of processing power. Sadly, the NeoGeo in your garage won’t cut it (though you could fire it up to play some Oregon Trail.)
At the minimum, you’ll need a PC with a Dual Core Intel processor and at least 4GB of RAM.
It’s even better if you can put together a Hackintosh, which lets you run OS X on an unsupported computer. If you want your PC to cross over to the Dark Side, you can follow these instructions.
Install a virtual PC application with Mac OS X
Another option is to simulate an installation of Mac OS X on Windows.
It’s fairly easy to do with virtualization software like VirtualBox. VirtualBox is free and open source.
You’ll also need a copy of Mac OS X. You can buy it online from the Apple Store or get it from someone who already owns a Mac computer. The exact installation steps will depend on your setup and software. Follow this VirtualBox tutorial to begin.
Yet another option is to try a service like MacinCloud. It’s basically a remote Mac rental service that allows you to use Apple hardware through the Internet. You may have experienced something similar with remote services like Teamviewer. It’s a good option but can be slow.
Install Xcode on your Hackintosh or OS X virtual machine
If you’re developing an iOS app using a Hackintosh or an OS X virtual machine, you’ll NEED to install XCode. It’s an integrated development environment (IDE) made by Apple that contains everything you need to build an iOS app.
Basically, it’s how 99.99% of iOS apps are developed.
After OS X and XCode are installed, you can begin coding and using the iOS Simulator to test apps just like you would on a real Mac computer.
Consider cross-platform development tools
If you don’t want to use a Hackintosh or an OS X virtual machine, think about using a cross-platform development tool.
Smartface and Xamarin are the big players. These tools allow you to develop iOS apps on Windows, using a common code base.
The catch – it can take time and effort to learn these platforms. You’ll also need to use a Mac or MacinCloud for App Store submission.
If you know JavaScript, you can try Smartface. Or if you know C#, Xamarin might be a better place to start. Both platforms have limited free plans.
Create provisioning profiles and certificates
Have you installed OS X and Xcode on Windows on your PC?
Ya?
Great job!
Now you need to signup for an Apple Developer account and create a couple basic files.
Don’t stress, after a couple runs this is easy as pie.
You’ll need to “sign off” on the code before your app can be tested or run on real devices. This isn’t just when developing apps with a PC, every iOS developer needs to sign their code.
Creating Certificates
A special certificate is needed that allows you to sign a project. There are 2 types of Certificates and Provisioning Profiles. Development (for testing), and Production (for submitting to the Store).
If you have access to OS X, you can create a Certificate Signing Request (CSR) using the Keychain Access app.
If you don’t have OS X, it’s a bit more complicated. But again, not impossible. You’ll have to run a few different commands and of course have access to the Apple Developer Program.
Here are the steps for creating a Certificate:
Step 1: Open Keychain Access and Request a Certificate
Fist step is to create a file that links your computer to Xcode development and distribution.
Open Keychain Access and select Request a Certificate from a Certificate Authority.
Step 2: Enter Certificate Information
I personally like saving my certificate request to my computer. Click Saved to disk and enter a Common Name for your file. It is still required to enter a User Email Address, but it is not used for soliciting anything or needed for using your certificate.
Step 3: Upload your Certificate Signing Request to the Apple Developer Portal
Still there?
Good job.
Next we’re going to upload our Certificate Signing Request to the Apple Developer Portal. If you haven’t registered as an Apple Developer, do so now at https://developer.apple.com it will cost you $99.
Click on the Certificates, Identifiers & Profiles.
Next, select Certificates.
Step 4: Select Type of Certificate
There are several certificate styles, but you will need 1 Development Certificate to test apps and 1 Production Certificate to upload to iTunes.
If a Certificate area is greyed out like below, it is because you have created your limit. Click on the Certificate type on the left sidebar and revoke 1 or more certificates.
Next you will be asked to upload the Certificate Signing Request we created earlier.
No prob, we already took care of this.
Click Continue and upload the Certificate Signing Request. Then select Generate.
Step 5: Download and Open
Home stretch!
Once you’ve generated your Certificate, download it to your computer.
Find your Certificate that was just generated and double click it.
Magic!
Done. Great job!
If you want to create another certificate, or a Development Certificate, go back and follow the same steps but click on Development Certificate instead of Distribution.
To view your Certificates, open Keychain Access and click Certificates.
Tip: It’s a good idea to right click on your certificates and click export. You can export certificates to P12 files so if someone else not using your computer wants to edit a code of yours they can.
Submit to the App Store
So your iOS app is complete? You’ve overcame all the obstacles and you’re ready for the final step!
All you have to do is submit it to the App Store. If you have a Hackintosh or an OS X virtual machine, this process will only take about 2 minutes.
But submission can be a bit more difficult if you don’t have OS X. You can’t upload an app from a Windows PC to iTunes Connect because you need a program called Application Uploader…which is only available on Macs. The easiest way to get around this problem is to borrow a friend’s Mac or use a service like MacinCloud.
If you are still having trouble, be sure to ask someone inside Bluecloud Select. They will probably know because we have done this so many times before.
What’s the bottom line?
Is it possible?
Yes.
Is it simple?
No.
This isn’t brain surgery, but it is a pain in the ass. Success is a journey and the road you take to get there might not be easy. But you can do it if you’re motivated.
Get a free 150 page ebook about apps and get your remaining questions answered (click here)
How do you upload your iOS apps from your PC?
hi melisa i downloaded the virtualbox but could not download OS X yosemite on my windows please help me how to go about with this thanks
@Shola – try the Virtualbox tutorial link in the blog article for instructions. Macbreaker is another good source for installing OS X in Virtualbox. If all else fails, borrow someones Mac, it’s a lot easier.
Hi melisa, i am shanmugasundharam selvadurai working as a iOS developer, and i am doing freelancer work of HACKINTOSH. iF you need any help , Email me back. Thanks
Hi Melissa,
you probably realise that “Install a virtual PC application with Mac OS X” alone is a major infringement of the iO X licence agreement.
“Other Use Restrictions
The grants set forth in this License do not permit you to, and you agree
not to, install, use or run the Apple Software on any non-Apple-branded computer, or to enable
others to do so. Except as otherwise permitted by the terms of this License or otherwise licensed”
Source: http://images.apple.com/legal/sla/docs/OSX1011.pdf
This is a quite informative blog and information given here is useful to develop such apps. Thanks
awesome tutorial i must say
Great tutorial……..having built a hackintosh completely understand that u need to e motivated and need time
Buying a Mac can create a significant dent in your pocket but without one, iOS app development can be a stiff job. However, when there’s a will there’s a way. With these compelling hacks you can now develop applications for iOS on your PC as well. All you need are the right tools and certificates that will ease the process considerably.
Is it possible test the app in a real device (iphone for example) or only in simulator? How to set the device???
so without VM we can’t install Xcode on Windows
@netgoogle – for the most part, yes
Hello, I have downloaded the virtual box, so I need the Mac OS X installed on Virtual Box? I would like to know the link from where I can download the Mac OSX. On the apple site it seems it is for Mac Computer. I want it for Windows 8.1
@Ritesh – Follow the VirtualBox ‘tutorial’ we link to under the ‘Install a virtual PC application with Mac OS X’ section.
Hi Carter, I have downloaded the virtual box and the Mac OSX. I have followed the instructions in the VirtualBox Tutorial link. However I am not getting the screen as shown in the step6 (this one: http://prnt.sc/dh6hcg). Instead I am getting Shell command prompt on the VirtualBox. Kindly let me know what mistaked I did? I am stuck at the 6th step to create new User accont on the OS X El Capitan Machine I created. Please help.
Hi. Firstly great tutorial! You guys make the best free content! Just to add to this page though. I would recommend you add Silver to one of your options here. Most people that I have come across whilst in the field of software development want to get XCode on their PC specifically to make IOS apps and make use of Swift. (The language used to make IOS apps) Most people don’t know this, but if you are installing a virtual machine just for that reason I would rather recommend trying Silver before you do that. Silver allows you to write your code on a windows machine and compile it for IOS devices.
Do not have to use xcode development iOS, a lot of development tools can be developed directly in Windows.
ios app submit to app store from windows guidelines
https://github.com/Appuploader/applicationloader/wiki/ios-app-submit-to-app-store-from-windows–guidelines