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.
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.
Create provisioning profiles and certificates
Have you installed OS X and Xcode on Windows on your PC?
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.
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
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
Once you've generated your Certificate, download it to your computer.
Find your Certificate that was just generated and double click it.
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?
Is it simple?
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.
How do you upload your iOS apps from your PC?