About three years ago I tried my hand at not only building an iPhone app, but publishing it in the store. It was free and didn’t have any in-app purchases or advertisements. For the pleasure of building an app and publishing it, you need to pay Apple 150 Australian dollars per year and in my case pay for the application development tool. For essentially the hobbyist app developer, this is something that not only doesn’t generate revenue to cover the cost of the tools or subscription but can’t be deducted as a business expense because, well, you aren’t doing business.
I gave up after getting my application into the store. It took almost as long to negotiate the fine art of certificates and provisioning profiles along with having the application pass muster with the Apple store reviewers as it did to develop the app.
Today, with a pre-release version of our school profile app, I ventured beyond copying the app to my iPhone and using it for 6 days before I then had to generate a new internal app ID in Xcode, re-publish the app with that ID and drag it across to the iPhone. That sounds onerous, but compared to three years ago, it is actually better. Why? because three years ago you had pay the annual subscription of USD 90 dollars just to copy it onto your own device. So that is in fact a big step forward.
When creating an app and preparing it for deployment to the iTunes store, there are a number of software tools involved. Xcode is the development environment – a bit like Visual Studio in the Microsoft world. Now I use a third party application development tool called LiveCode which has its roots in the halcyon days of Hypercard on the Mac. Hypercard died and was resurrected to become Livecode (I have skipped the journey in between but here is a video from two of the inventors of hypercard). Why use LiveCode? I can program an application in one language and publish that single application to Windows, Macintosh, iOS, Android and Linux without having to rewrite the application.
So back to getting the app into the app store. You need Xcode, iTunes Connect, KeyChain, Certificate Assistant, iTunes, Application Loader and other tools like LiveCode to make all of this work. In addition you need to create icons, splash screens and other graphics that have to be a specific size along with look and feel to be accepted into each store. For that I use Photoshop and some cool templates available that have the sizes already set up with either actions or automatic asset generation to create those image assets you need for your app. The one I have used is from Michael Flarup’s PixelResort site. He is truly a gifted designer. Recently he has established a subscription service for his templates and given screen changes and new devices, it is well worth considering. Another couple of templates which use the generator in PhotoShop to create images (see my last post) are available from Bjeld – One is for the icons and the other for the splash screens. Another thing you need to do when putting an app into the store is to create a series of screenshots that will show off your application. These are uploaded to the iTunes Connect page. The template I used for that was from http://appscreenshotstemplate.com which at the moment is free and easy to use. This one uses actions. You just insert three graphics for the 5 screen shots and all sizes required for your app are created. That brings to about 20 or more images of a specific size that are required just for the iOS devices. The of course there is still the Android side and the windows graphics yet to add.
But I have uploaded the app and now with the ability to share it with up to 2000 people I can now really test before going live.
I’ll finish here because until I receive some feedback from Apple there is nothing to report.
If you do want to try out the community version of Livecode, visit http://livecode.org
Of course you can learn how to build apps using a variety of languages. Apple has a language called SWIFT and here is a free course http://codewithchris.com/how-to-make-an-iphone-app/ that covers swift and xcode.