People wonder if they can develop an iOS mobile application and deploy it on an iOS device using windows. I spent a lot of time trying to generate P12 and signing certificates using OpenSSL in Windows and then deploying it in my iPhone using Phonegap. After all the trials I figured out that it’s possible to generate P12 and certificates using OpenSSL, but it’s better to buy an Apple developer account for certificates and P12 to avoid any jailbreaking or warranty void. So here’s guide how to get started. We will deploy a simple application in the tutorial.
You will need to install the following before you can build iOS applications using Windows.
(Each link will open in new tab)
- Apple Developer account($99)
- TestFlightapp account(Free)
- JqueryMobile(Popular Mobile framework)
- OpenSSL and VC2008 redistributable(Free)
- Phonegap build account(Free but limited access)
Once you are done with installing above, follow below 6 steps:
Step 1- Archive(zip) www folder of your application
If you already have www folder for your application which contains index.html you can skip this part. Beginners or people who want to learn Themeroller to get a basic layout for your app with very less effort may have a look at Jquerymobile for Dummies tutorial.
Step 2-Get certificate and a provisioning profile for your application using Apple Developer Account or OpenSSL.
Go through phonegap documentation to learn how to generate certificate and a provisioning profile without a Mac. If you already have P12 and certificate you can skip this step. I will suggest to generate .p12 and .cer file using Developer account. Just for information, Provisioning Profile is a collection of your App ID, Apple device UDID, and iOS Development Certificate that allows you to install your application on your device.
Step 3-Upload Archive to Phonegap build site
Now you have provisioning profile, certificate and archive of your application. Sign into your Phonegap build account and create a new application. Check upload an archive or index.html file. Give a name to your app and upload your archive.
Step 4-Add signing key using certificate(p12) and provisioning profile
You will notice that you have builds for each except iOS which is orange in color. You can click on any platform and download build for platform required.
Click on your application. You will see this screen.
Click on Edit-> Signing
For iOS select the dropdown and select add a key..
Upload both provisioning profile and certificate(p12) to generate a signing key.
Note: Provide the same password which you provided while generating p12 file using OpenSSL during Step2.
Step 5-Download .ipa(iPhone archive) file
After providing the signing key go back to your apps page and you will see that you have ready builds for each of the platform.
Click on iOS and it will download .ipa file which is build file for iOS platforms.
Step 6-Upload your build(.ipa) to your TestFlightApp account
A very good work around to test your app in development environment is TestFlight App. If you already have the credentials for TestFlight and .ipa file, you can deploy your application in no time(NOTE: your device should be registered with TestFlight App). You will need 40 digit Hexadecimal code for your device which you can get by clicking on Device Serial Number in iTunes. Device can be iPod touch, iPhone or iPad.
->Click on Upload build.
->Drag and drop your .ipa file. Add some release notes and upload.
->Once you have your build ready, you can invite your testers and developers to test your app on their registered devices.
Once you register you app your testers will get an email on their registered E-Mail ids from where they can downloadTestFlight app on their iOS devices and install and run your application(Note: They should open that E-mail in their registered device.)
NOTE: This method can only be used to check your apps on testing devices, not to host on App Store.
Escaping mechanisms can be exciting, but results might make you mad.
Happy iOS development