I don't ordinarily do app development, but I recently had a project working with a long-time client that involved creating an Ad-Hoc App so that he could showcase some of his video files on his iPad. There were a lot of tears and headaches involved in figuring out how Apple's certificates and mobile provisioning files work, and it took a ridiculous amount of trial and error, however, I was able to do it the exact way he wanted and BEFORE THE DEADLINE.
This got me thinking about finally getting my feet wet in app development. I had already purchased the iOS developer account, so I figured I might as well try to make use of it. I have been experimenting with react-native, and I plan to do some cool stuff with that, however, for this first experiment I just wanted to focus on the deployment process. So, for the project itself I rigged up some simple app with HTML/CSS/jQuery, threw it at PhoneGap and generated my apk and ipa files.
The first challenge was getting the key process right. As with everything, Android made it easier. This post isn't meant to be a comprehensive guide to building apps, but an overview of the release process for Google's Play Store and Apple's App Store.
keytool -genkey -v -keystore tip-calculator.keystore -alias tip-calculator -keyalg RSA -keysize 2048 -validity 10000
From the command line, type the above and that's it. Boom! You have your .keystore file. There are several questions you're asked, but it's the same series of questions you have to answer when generating a CSR.
To create your apk file for Android, you'll need your keystore, the alias (this has to be typed in to the form exactly as it was specified in the command or else PhoneGap won't know what to do), and the password for the keystore.
To create your ipa file for iOS you'll need the mobileProvisioning file, the .p12 file, and the password you created when you extracted the .p12 file.
Now that your binaries are properly signed, it's time to get those binaries in the app store and play store. When I submitted my test application to Google Play, it was approved within about an hour. I submitted my application to Apple's App Store and 24 hours later I still don't have a response. According to this website, the average response time is about 5 days at the time of this writing.
This is also the stage you'll finally need a Google account. Again, I argue that Google does it better (or atleast in a more 'developer friendly' way) by charging a one time fee of $25. Apple charges $99/year. Google also makes it handy in that you can upload the APK from the dashboard, whereas Apple makes you either use xcode or application loader to upload the IPA.